Alat analisis terprogram

Dokumen ini menjelaskan beberapa cara untuk menulis dan menjalankan kode untuk menganalisis data yang dikelola di BigQuery.

Meskipun SQL adalah bahasa kueri yang andal, bahasa pemrograman seperti Python, Java, atau R menyediakan sintaksis dan beragam fungsi statistik bawaan yang mungkin dianggap analis data lebih ekspresif dan lebih mudah dimanipulasi untuk jenis analisis data tertentu.

Demikian pula, meskipun spreadsheet digunakan secara luas, lingkungan pemrograman lain seperti notebook terkadang dapat menawarkan lingkungan yang lebih fleksibel untuk melakukan analisis dan eksplorasi data yang kompleks.

Notebook Colab Enterprise

Anda dapat menggunakan notebook Colab Enterprise di BigQuery untuk menyelesaikan alur kerja analisis dan machine learning (ML) dengan menggunakan SQL, Python, serta paket dan API umum lainnya. Notebook menawarkan kolaborasi dan pengelolaan yang lebih baik dengan opsi berikut:

  • Bagikan notebook kepada pengguna dan grup tertentu dengan Identity and Access Management (IAM).
  • Tinjau histori versi notebook.
  • Kembalikan ke atau cabang dari versi notebook sebelumnya.

Notebook adalah aset kode BigQuery Studio yang didukung oleh Dataform, meskipun notebook tidak terlihat di Dataform. Kueri tersimpan juga merupakan aset kode. Semua aset kode disimpan di region default . Mengupdate region default akan mengubah region untuk semua aset kode yang dibuat setelah waktu tersebut.

Kemampuan notebook hanya tersedia di Google Cloud konsol.

Notebook di BigQuery menawarkan manfaat berikut:

  • Integrasi Python yang lancar: gunakan BigQuery DataFrames API tanpa penyiapan tambahan.
  • Pengembangan yang didukung AI: gunakan AI generatif Gemini untuk pengembangan kode pendukung.
  • Fitur editor yang familiar: gunakan pelengkapan otomatis SQL, mirip dengan editor BigQuery SQL.
  • Visualisasi terintegrasi: gunakan visualisasi DataFrame interaktif, atau library seperti matplotlib dan seaborn, untuk memvisualisasikan data langsung dalam alur kerja Anda.
  • Interoperabilitas SQL-Python: jalankan SQL dalam sel yang mereferensikan variabel Python.

Anda dapat mulai menggunakan notebook dengan menggunakan template galeri notebook. Untuk mengetahui informasi selengkapnya, lihat Membuat notebook menggunakan galeri notebook.

BigQuery DataFrames

BigQuery DataFrames adalah sekumpulan library Python open source yang memungkinkan Anda memanfaatkan pemrosesan data BigQuery menggunakan Python API yang familiar. BigQuery DataFrames mengimplementasikan pandas dan scikit-learn API dengan mendorong pemrosesan ke BigQuery melalui konversi SQL. Desain ini memungkinkan Anda menggunakan BigQuery untuk menjelajahi dan memproses data terabyte, serta melatih model ML, semuanya dengan Python API.

BigQuery DataFrames menawarkan manfaat berikut:

  • Lebih dari 750 pandas dan scikit-learn API yang diimplementasikan melalui konversi SQL transparan ke BigQuery dan BigQuery ML API.
  • Penundaan eksekusi kueri untuk meningkatkan performa.
  • Memperluas transformasi data dengan fungsi Python yang ditentukan pengguna untuk memungkinkan Anda memproses data di cloud. Fungsi ini otomatis di-deploy sebagai fungsi jarak jauh BigQuery .
  • Integrasi dengan Gemini Enterprise Agent Platform untuk memungkinkan Anda menggunakan model Gemini untuk pembuatan teks.

Solusi analisis terprogram lainnya

Solusi analisis terprogram berikut juga tersedia di BigQuery.

Notebook Jupyter

Jupyter adalah aplikasi open source berbasis web untuk memublikasikan notebook yang berisi kode aktif, deskripsi tekstual, dan visualisasi. Data scientist, spesialis machine learning, dan siswa biasanya menggunakan platform ini untuk tugas seperti pembersihan dan transformasi data, simulasi numerik, pemodelan statistik, visualisasi data, dan ML.

Notebook Jupyter dibangun di atas kernel IPython, shell interaktif yang andal, yang dapat berinteraksi langsung dengan BigQuery menggunakan IPython Magics untuk BigQuery. Atau, Anda juga dapat mengakses BigQuery dari instance notebook Jupyter dengan menginstal library klien BigQuery yang tersedia. Anda dapat memvisualisasikan data BigQuery GIS dengan notebook Jupyter melalui ekstensi GeoJSON. Untuk mengetahui detail selengkapnya tentang integrasi BigQuery, lihat tutorial Memvisualisasikan data BigQuery di notebook Jupyter.

Diagram notebook Jupyter yang menunjukkan visualisasi data GIS BigQuery.

JupyterLab adalah antarmuka pengguna berbasis web untuk mengelola dokumen dan aktivitas seperti notebook Jupyter, editor teks, terminal, dan komponen kustom. Dengan JupyterLab, Anda dapat menata beberapa dokumen dan aktivitas secara berdampingan di area kerja dengan tab dan pemisah.

JupyterLab: menggunakan tab dan pemisah untuk menata beberapa dokumen dan aktivitas secara berdampingan di area kerja.

Anda dapat men-deploy notebook Jupyter dan lingkungan JupyterLab di Google Cloud menggunakan salah satu produk berikut: Google Cloud

Apache Zeppelin

Apache Zeppelin adalah project open source yang menawarkan notebook berbasis web untuk analisis data. Anda dapat men-deploy instance Apache Zeppelin di Managed Service untuk Apache Spark dengan menginstal komponen opsional Zeppelin. Secara default, notebook disimpan di Cloud Storage di bucket staging Managed Service untuk Apache Spark, yang ditentukan oleh pengguna atau dibuat otomatis saat cluster dibuat. Anda dapat mengubah lokasi notebook dengan menambahkan properti zeppelin:zeppelin.notebook.gcs.dir saat membuat cluster. Untuk informasi selengkapnya tentang cara menginstal dan mengonfigurasi Apache Zeppelin, lihat Panduan komponen Zeppelin. Sebagai contoh, lihat Menganalisis set data BigQuery menggunakan Interpreter BigQuery untuk Apache Zeppelin.

Analisis SQL dari data tabel yang ditunjukkan di Zeppelin.

Apache Hadoop, Apache Spark, dan Apache Hive

Sebagai bagian dari migrasi pipeline analisis data, Anda mungkin ingin memigrasikan beberapa Apache Hadoop, Apache Spark, atau Apache Hive lama yang perlu memproses data secara langsung dari data warehouse Anda. Misalnya, Anda dapat mengekstrak fitur untuk workload machine learning Anda.

Managed Service untuk Apache Spark memungkinkan Anda men-deploy cluster Hadoop dan Spark yang terkelola sepenuhnya secara efisien dan hemat biaya. Managed Service untuk Apache Spark terintegrasi dengan konektor BigQuery open source. Konektor ini menggunakan BigQuery Storage API, yang mengalirkan data secara paralel langsung dari BigQuery melalui gRPC.

Saat memigrasikan workload Hadoop dan Spark yang ada ke Managed Service untuk Apache Spark, Anda dapat melihat apakah dependensi workload Anda tercakup dalam versi Managed Service untuk Apache Spark yang didukung. Jika perlu menginstal software kustom, Anda dapat mempertimbangkan untuk membuat image Managed Service untuk Apache Spark Anda sendiri, menulis tindakan inisialisasi Anda sendiri, atau menyebutkan persyaratan paket Python kustom.

Untuk memulai, lihat panduan memulai Managed Service untuk Apache Spark dan contoh kode konektor BigQuery.

Apache Beam

Apache Beam adalah framework open source yang kaya dengan rangkaian dasar windowing dan analisis sesi, serta ekosistem konektor sumber dan sink, termasuk konektor untuk BigQuery. Apache Beam memungkinkan Anda untuk mengubah dan memperkaya data baik secara streaming (real time) maupun batch (historis) dengan keandalan dan ekspresif yang sama.

Dataflow adalah layanan terkelola sepenuhnya untuk menjalankan tugas Apache Beam dalam skala besar. Pendekatan serverless Dataflow memangkas beban operasional dengan performa, penskalaan, ketersediaan, keamanan, dan kepatuhan yang ditangani secara otomatis sehingga Anda dapat fokus pada pemrograman, bukan pengelolaan cluster server.

Grafik eksekusi dengan transformasi komposit yang diperluas (MakeMapView). Subtransformasi yang membuat input tambahan (CreateDataflowView) dipilih, dan metrik input tambahan ditampilkan di tab Langkah.

Anda dapat mengirimkan tugas Dataflow dengan berbagai cara, baik melalui the antarmuka command line, the Java SDK, atau the Python SDK.

Jika Anda ingin memigrasikan kueri dan pipeline data dari framework lain ke Apache Beam dan Dataflow, baca tentang Model pemrograman Apache Beam dan jelajahi Dokumentasi Dataflow resmi.

Resource lainnya

BigQuery menawarkan beragam library klien dalam berbagai bahasa pemrograman seperti Java, Go, Python, JavaScript, PHP, dan Ruby. Beberapa framework analisis data seperti pandas menyediakan plugin yang berinteraksi langsung dengan BigQuery. Untuk beberapa contoh praktis, lihat tutorial Memvisualisasikan data BigQuery di notebook Jupyter.

Terakhir, jika Anda lebih memilih untuk menulis program di lingkungan shell, Anda dapat menggunakan alat command line bq.