Melakukan migrasi dari paket Python datalab
Paket Python datalab
digunakan untuk berinteraksi dengan layanan Google
Cloud melalui notebook Datalab. Paket Python datalab
menyertakan magic Jupyter dan modul Python, seperti google.datalab.bigquery
,
yang mendukung subset metode BigQuery API.
Library klien BigQuery,
google-cloud-bigquery
, adalah library Python resmi yang digunakan untuk berinteraksi
dengan BigQuery. Library klien menyediakan magic sel Jupyter
untuk menjalankan kueri, fungsi yang memungkinkan pengiriman dan pengambilan data menggunakan
DataFrame pandas,
dan library mendukung fungsi BigQuery lengkap. Contoh
kode berikut menggambarkan cara melakukan operasi BigQuery
umum menggunakan library google-cloud-bigquery
untuk developer yang
sudah terbiasa dengan paket Python datalab
.
Lihat file requirements.txt untuk melihat versi library yang digunakan untuk cuplikan kode ini.
Menggunakan magic Jupyter dan perintah shell
Kedua library mendukung meng-kueri data yang tersimpan di BigQuery dengan magic sel. Perbedaan utama dalam pendekatan kedua library terhadap magic meliputi:
datalab |
google-cloud-bigquery |
|
---|---|---|
Nama magic | bq |
bigquery |
Nama ekstensi Jupyter (digunakan untuk memuat magic) | google.datalab.kernel |
google.cloud.bigquery |
Eksekusi kueri | Definisi dan eksekusi kueri dapat dilakukan dalam langkah-langkah terpisah. | Kueri selalu segera dieksekusi ketika perintah magic dijalankan. |
Fungsionalitas yang dicakup oleh magic | Beberapa fitur yang tidak didukung. | Hanya kueri yang dapat dilakukan melalui magic. Untuk fungsi BigQuery lainnya, gunakan metode alat command line atau metode google.cloud.bigquery.Client. |
Menyimpan hasil kueri | Hasil kueri dapat disimpan ke tabel tujuan melalui magic kueri, tetapi tidak dapat disimpan ke variabel. Untuk menyimpan hasil kueri untuk suatu variabel, eksekusi kueri menggunakan python, bukan magic (lihat contoh). | Hasil kueri dapat disimpan ke variabel melalui magic kueri, tetapi tidak dapat disimpan ke tabel tujuan. Untuk menyimpan hasil kueri ke tabel tujuan, jalankan kueri menggunakan python, bukan magic (lihat contoh). |
Menginstal library klien Python
Untuk menginstal library klien BigQuery beserta dependensi yang diperlukan untuk menggunakan DataFrame pandas, masukkan perintah berikut di notebook Anda:
!pip install --upgrade 'google-cloud-bigquery[bqstorage,pandas]'
Mulai ulang kernel Anda setelah menginstal paket.
Memuat magic
Magic Jupyter adalah pintasan khusus notebook yang memungkinkan Anda menjalankan perintah
dengan sintaksis minimal. Notebook Jupyter dilengkapi dengan banyak
perintah bawaan.
Paket Python datalab
dan google-cloud-python
menerapkan perintah
magic tambahan yang dapat Anda muat ke notebook Jupyter (termasuk
Datalab) untuk berinteraksi dengan Google Cloud.
datalab
Magic datalab
telah dimuat sebelumnya ke dalam notebook Datalab. Untuk
memuat magic di notebook Jupyter, masukkan perintah berikut:
%load_ext google.datalab.kernel
Lihat opsi lainnya untuk memuat magic di repo sumber
library datalab
.
google-cloud-bigquery
Untuk memuat magic BigQuery, masukkan perintah berikut:
%load_ext google.cloud.bigquery
Magic sel BigQuery akan berfungsi di notebook mana pun tempat
paket google-cloud-bigquery
diinstal.
Menjalankan kueri
Contoh berikut menunjukkan cara menggunakan magic sel untuk menjalankan kueri. Kedua contoh ini menjalankan kueri dan menampilkan hasilnya di bawah sel input.
datalab
google-cloud-bigquery
Menjalankan kueri dan menyimpan hasilnya dalam variabel
Contoh berikut menunjukkan cara menjalankan kueri, dan cara menyimpan hasilnya dalam
variabel bernama my_variable
.
datalab
datalab
dapat menyimpan kueri SQL tanpa
menjalankannya dengan meneruskan nama menggunakan flag --name
atau
-n
.
google-cloud-bigquery
Perintah tambahan
Library datalab
berisi magic untuk berbagai jenis operasi
BigQuery, sedangkan library google-cloud-bigquery
memiliki satu magic sel untuk
menjalankan kueri. Untuk menjalankan perintah untuk operasi selain kueri, gunakan
alat command line bq. Contoh berikut menunjukkan cara menampilkan daftar semua tabel dalam set data
samples
dari project bigquery-public-data
menggunakan magic sel datalab
atau
perintah shell BigQuery.
datalab
alat command line bq
Untuk mulai menggunakan alat command line bq yang diinstal sebagai bagian dari
Google Cloud CLI, ikuti petunjuk penginstalan Google Cloud CLI.
Perlu diperhatikan bahwa perintah shell dalam notebook harus diawali dengan !
. Setelah
alat command line bq disiapkan dan tersedia dari notebook Anda, masukkan perintah
berikut, yang setara dengan magic sel datalab
di atas.
!bq ls bigquery-public-data:samples
Untuk daftar lengkap perintah, masukkan perintah berikut:
!bq help
Menggunakan kode Python
Selain magic Jupyter, Anda juga dapat melakukan operasi
BigQuery menggunakan metode Python di paket datalab
dan
google-cloud-bigquery
.
Menjalankan Kueri
Kedua library mendukung menjalankan kueri dan menampilkan hasilnya sebagai DataFrame pandas.
datalab
google-cloud-bigquery
Memuat data ke tabel BigQuery
Contoh berikut menunjukkan cara membuat set data baru dan memuat data dari file CSV dari Cloud Storage ke tabel baru.
datalab
google-cloud-bigquery
Untuk contoh lainnya tentang penggunaan library klien Python BigQuery, lihat Pemuatan batch data dan Streaming data ke BigQuery.
Memuat DataFrame pandas ke tabel BigQuery
Contoh berikut menunjukkan cara membuat set data baru dan memuat data dari DataFrame pandas ke tabel baru.
Lokasi diperlukan untuk operasi BigQuery tertentu, seperti
membuat set data. Jika lokasi diberikan ke klien
google-cloud-bigquery
saat diinisialisasi, lokasi tersebut akan menjadi lokasi default untuk tugas,
set data, dan tabel yang dibuat dengan klien. Library datalab
tidak
menyediakan cara untuk menentukan set data atau lokasi tugas, yang dapat menyebabkan perilaku
yang tidak terduga. Lihat Lokasi set data untuk mengetahui informasi
selengkapnya.
datalab
datalab
melakukan streaming insert saat memuat data
dari DataFrame pandas ke dalam tabel BigQuery. Oleh karena itu,
data mungkin tidak segera tersedia untuk kueri. Lihat
Streaming Data ke BigQuery
untuk mengetahui informasi selengkapnya.