Sheet yang Terhubung memungkinkan Anda menganalisis data berukuran petabyte secara langsung di dalam Spreadsheet. Anda dapat menghubungkan spreadsheet dengan data warehouse BigQuery dan melakukan analisis menggunakan alat Spreadsheet yang sudah dikenal, seperti tabel pivot, diagram, dan formula.
Panduan ini menggunakan set data publik shakespeare untuk menunjukkan cara menggunakan Sheet yang Terhubung. {i>Dataset<i} itu berisi informasi berikut:
Kolom | Jenis | Deskripsi |
---|---|---|
word | STRING | Satu kata unik (dengan spasi kosong sebagai pembatas) yang diekstrak dari korpus |
word_count | INTEGER | Frekuensi kata ini muncul dalam korpus ini |
corpus | STRING | Pekerjaan tempat kata ini diekstrak |
corpus_date | INTEGER | Tahun saat korpus ini dipublikasikan |
Bekerja dengan DataSource
Menambahkan sumber data BigQuery
Untuk menambahkan sumber data, sediakan AddDataSourceRequest di metode batchUpdate. Isi permintaan harus menentukan kolom DataSource.
Ganti <YOUR_PROJECT_ID>
di bawah dengan project ID Google Cloud yang valid.
"addDataSource":{
"dataSource":{
"spec":{
"bigQuery":{
"projectId":"<YOUR_PROJECT_ID>",
"tableSpec":{
"tableProjectId":"bigquery-public-data",
"datasetId":"samples",
"tableId":"shakespeare"
}
}
}
}
}
Setelah sumber data berhasil dibuat, sheet DATA_SOURCE
terkait akan dibuat untuk memberikan pratinjau hingga 500 baris. Pratinjau tidak langsung tersedia. Eksekusi dipicu secara asinkron untuk mengimpor data BigQuery.
AddDataSourceResponse berisi kolom berikut:
dataSource: DataSource yang baru dibuat. dataSourceId juga diisi dan akan direferensikan untuk membuat setiap objek DataSource dari sumber data.
dataExecutionStatus: Seperti yang disebutkan di atas, ini adalah status eksekusi yang mengimpor data BigQuery ke sheet pratinjau. Lihat DataExecutionStatus untuk mengetahui informasi selengkapnya.
Memperbarui atau menghapus sumber data
Gunakan metode batchUpdate dan sediakan permintaan UpdateDataSourceRequest atau DeleteDataSourceRequest sebagaimana mestinya.
Menangani Objek DataSource
Setelah sumber data ditambahkan ke spreadsheet, objek sumber data dapat dibuat dari sumber data tersebut. Objek sumber data adalah alat Spreadsheet reguler seperti tabel pivot, diagram, dan formula, tetapi terintegrasi dengan Sheet yang Terhubung, untuk mendukung analisis Anda.
Ada empat jenis objek:
- Tabel DataSource
- PivotTable DataSource
- Diagram DataSource
- Formula DataSource
Menambahkan Tabel DataSource
Juga dikenal sebagai "Ekstrak" di editor Spreadsheet, objek ini mengimpor dump statis data dari sumber data ke Spreadsheet. Mirip dengan tabel pivot, tabel ditentukan dan ditambatkan di sel kiri atas.
Dalam contoh ini, kita menggunakan metode batchUpdate dan menyediakan permintaan updateCells untuk membuat tabel sumber data yang terdiri dari dua kolom word
dan word_count
, hingga 1.000 baris
"updateCells":{
"rows":{
"values":[
{
"dataSourceTable":{
"dataSourceId":"<YOUR_DATA_SOURCE_ID>",
"columns":[
{
"name":"word"
},
{
"name":"word_count"
}
],
"rowLimit":{
"value":1000
},
"columnSelectionType":"SELECTED"
}
}
]
},
"fields":"dataSourceTable"
}
Setelah tabel sumber data berhasil dibuat, data tidak akan langsung tersedia. Di editor Spreadsheet, panel ditampilkan sebagai pratinjau. Anda perlu memuat ulang tabel sumber data untuk mengambil data BigQuery. Anda dapat menentukan RefreshDataSourceRequest dalam batchUpdate
yang sama. Lihat Memuat ulang objek DataSource di bawah untuk mengetahui detailnya. Perhatikan bahwa semua objek sumber data berfungsi dengan cara yang sama.
Setelah pemuatan ulang selesai (data BigQuery diambil), tabel sumber data akan diisi seperti yang ditunjukkan:
Menambahkan PivotTable DataSource
Tidak seperti tabel pivot konvensional, tabel pivot sumber data didukung oleh sumber data dan mereferensikan data berdasarkan nama kolom. Contoh ini membuat tabel pivot yang menampilkan total jumlah kata berdasarkan korpus.
"updateCells":{
"rows":{
"values":[
{
"pivotTable":{
"dataSourceId":"<YOUR_DATA_SOURCE_ID>",
"rows":{
"dataSourceColumnReference":{
"name":"corpus"
},
"sortOrder":"ASCENDING"
},
"values":{
"summarizeFunction":"SUM",
"dataSourceColumnReference":{
"name":"word_count"
}
}
}
}
]
},
"fields":"pivotTable"
}
Setelah data BigQuery diambil, tabel pivot sumber data akan diisi seperti yang ditunjukkan:
Menambahkan Diagram DataSource
Contoh ini membuat diagram sumber data, dengan jenis KOLOM, yang menampilkan total jumlah kata berdasarkan korpus.
"addChart":{
"chart":{
"spec":{
"title":"Corpus by word count",
"basicChart":{
"chartType":"COLUMN",
"domains":[
{
"domain":{
"columnReference":{
"name":"corpus"
}
}
}
],
"series":[
{
"series":{
"columnReference":{
"name":"word_count"
},
"aggregateType":"SUM"
}
}
]
}
},
"dataSourceChartProperties":{
"dataSourceId":"<YOUR_DATA_SOURCE_ID>"
}
}
}
Setelah data BigQuery diambil, diagram sumber data dirender seperti yang ditunjukkan:
Menambahkan Formula DataSource
Contoh ini membuat formula sumber data untuk menghitung jumlah kata rata-rata.
"updateCells":{
"rows":[
{
"values":[
{
"userEnteredValue":{
"formulaValue":"=AVERAGE(shakespeare!word_count)"
}
}
]
}
],
"fields":"userEnteredValue"
}
Setelah data BigQuery diambil, formula sumber data diisi seperti yang ditunjukkan:
Memuat ulang objek DataSource
Anda dapat memuat ulang objek sumber data untuk mengambil data terbaru dari BigQuery berdasarkan spesifikasi sumber data dan konfigurasi objek saat ini. Anda dapat menggunakan metode batchUpdate, menyediakan RefreshDataSourceRequest, dan tentukan satu atau beberapa objek yang akan dimuat ulang melalui DataSourceObjectReferences.
Perhatikan bahwa Anda dapat membuat objek sumber data dan memperbaruinya dalam satu permintaan batchUpdate
.
DataExecutionStatus
Saat Anda membuat sumber data baru atau memuat ulang objek sumber data, eksekusi akan dibuat di latar belakang untuk mengambil data dari BigQuery dan menampilkan respons yang berisi status eksekusi. Jika eksekusi berhasil dimulai, status eksekusi biasanya
berada dalam status RUNNING
.
Karena prosesnya asinkron, aplikasi Anda harus menerapkan model polling untuk mengambil status objek sumber data secara berkala, menggunakan spreadsheets.get), hingga status tersebut menyimpan status SUCCEEDED
atau FAILED
. Dalam sebagian besar kasus, eksekusi selesai dengan cepat, tetapi ini bergantung pada kompleksitas spesifikasi sumber data Anda. Dalam kasus apa pun, eksekusi seharusnya tidak lebih dari 10 menit.