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 Jupyter

Jupyter adalah aplikasi open source berbasis web untuk memublikasikan notebook yang berisi kode aktif, deskripsi tekstual, dan visualisasi. Platform ini biasanya digunakan oleh data scientist, spesialis machine learning, dan siswa untuk pembersihan dan transformasi data, simulasi numerik, pemodelan statistik, visualisasi data, machine learning, dan banyak lagi.

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:

Apache Zeppelin

Apache Zeppelin adalah project open source yang menawarkan notebook berbasis web untuk analisis data. Anda dapat men-deploy instance Apache Zeppelin di Dataproc dengan menginstal komponen opsional Zeppelin. Secara default, notebook disimpan di Cloud Storage di bucket staging Dataproc, 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 tugas 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.

Dengan Dataproc, Anda dapat men-deploy cluster Hadoop dan Spark yang terkelola sepenuhnya dengan cara yang efisien dan hemat biaya. Dataproc terintegrasi dengan konektor BigQuery open source. Konektor ini menggunakan BigQuery Storage API, yang mengalirkan data secara paralel dari BigQuery melalui gRPC.

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

Untuk memulai, lihat panduan memulai Dataproc 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 antarmuka command line, Java SDK, atau 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.

RStudio

Data scientist sering menggunakan bahasa pemrograman R untuk membuat alat analisis data dan aplikasi statistik. RStudio mengembangkan alat gratis dan terbuka untuk R dan produk profesional yang siap digunakan perusahaan agar tim dapat menskalakan dan membagi pekerjaan. Produk RStudio, seperti RStudio Server Pro, menyederhanakan analisis data dengan R dan menyediakan alat yang andal dalam melakukan publikasi dan berbagi.

RStudio Server Pro adalah lingkungan pengembangan terintegrasi (IDE) sesuai permintaan yang berlisensi komersial. Alat ini menawarkan kemampuan yang ditemukan di IDE open source RStudio yang populer, ditambah dengan kemudahan siap pakai, keamanan yang ditingkatkan, kemampuan untuk mengelola beberapa versi dan sesi R, dan lain-lain.

Anda dapat men-deploy komponen RStudio Server Pro untuk Google Cloud dari Cloud Marketplace. Versi ini identik dengan RStudio Server Pro, tetapi dengan kemudahan-kemudahan untuk data scientist, termasuk pra-penginstalan beberapa versi R dan library sistem umum. Versi ini juga mencakup bigrquery, paket BigQuery untuk R, yang menyediakan backend DBI dan dplyr yang memungkinkan Anda berinteraksi dengan BigQuery menggunakan SQL tingkat rendah atau verb dplyr tingkat tinggi. Paket ini menyederhanakan penanganan data yang disimpan di BigQuery dengan memungkinkan Anda mengkueri tabel BigQuery dan mengambil metadata tentang project, set data, tabel, dan tugas Anda. Untuk mempelajari lebih lanjut, lihat panduan resmi tentang Memulai RStudio Server Pro untuk Google Cloud dan FAQ RStudio Server Pro untuk Google Cloud ini.

Anda juga dapat menginstal RStudio Server versi open source di cluster Dataproc. Keuntungan menjalankan RStudio di Dataproc adalah Anda dapat memanfaatkan Penskalaan otomatis Dataproc. Dengan penskalaan otomatis, Anda bisa memiliki ukuran cluster minimum saat mengembangkan logika SparkR. Setelah mengirimkan tugas untuk pemrosesan skala besar, Anda tidak perlu melakukan apa pun yang berbeda atau mengkhawatirkan modifikasi server. Setelah Anda mengirimkan tugas SparkR ke RStudio, cluster Dataproc akan diskalakan untuk memenuhi kebutuhan tugas Anda dalam interval yang Anda tetapkan. Untuk detail lebih lanjut tentang integrasi RStudio dengan Dataproc, lihat pengumuman 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.