Dokumen ini menjelaskan cara menginstal dan menggunakan plugin JupyterLab Dataproc di mesin atau VM yang memiliki akses ke layanan Google, seperti mesin lokal atau instance VM Compute Engine. Panduan ini juga menjelaskan cara mengembangkan dan deploy kode notebook Spark.
Setelah menginstal plugin JupyterLab Dataproc, Anda dapat menggunakannya untuk melakukan tugas berikut:
- Meluncurkan sesi notebook interaktif Dataproc Serverless untuk Spark
- Mengirimkan tugas batch Dataproc Serverless
Batasan dan pertimbangan Dataproc Serverless
- Tugas Spark dijalankan dengan identitas akun layanan, bukan identitas pengguna yang mengirimkan.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Dataproc API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Dataproc API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Pastikan subnet VPC regional tempat Anda akan menjalankan sesi interaktif Dataproc Serverless telah mengaktifkan Akses Google Pribadi. Untuk mengetahui informasi selengkapnya, lihat Membuat template runtime Dataproc Serverless
Menginstal plugin JupyterLab Dataproc
Anda dapat menginstal dan menggunakan plugin JupyterLab Dataproc di mesin atau VM yang memiliki akses ke layanan Google, seperti mesin lokal atau instance VM Compute Engine.
Untuk menginstal plugin, ikuti langkah-langkah berikut:
Download dan instal Python versi 3.8 atau yang lebih tinggi dari
python.org/downloads
.Verifikasi penginstalan Python 3.8+.
python3 --version
Instal
JupyterLab 3.6.3+
di komputer Anda.pip3 install --upgrade jupyterlab
Verifikasi penginstalan JupyterLab 3.6.3+.
pip3 show jupyterlab ```
Instal plugin JupyterLab Dataproc.
pip3 install dataproc-jupyter-plugin
Jika versi JupyterLab Anda lebih lama dari
4.0.0
, aktifkan ekstensi plugin.jupyter server extension enable dataproc_jupyter_plugin ```
-
jupyter lab
Halaman Peluncur JupyterLab akan terbuka di browser Anda. Halaman ini berisi bagian Tugas dan Sesi Dataproc. Halaman ini juga dapat berisi bagian Notebook Dataproc Serverless dan Notebook Cluster Dataproc jika Anda memiliki akses ke notebook serverless Dataproc atau cluster Dataproc dengan komponen opsional Jupyter yang berjalan di project Anda.
Secara default, sesi Dataproc Serverless untuk Spark Interaktif berjalan di project dan region yang Anda tetapkan saat menjalankan
gcloud init
di Sebelum memulai. Anda dapat mengubah setelan project dan wilayah untuk sesi dari halaman Setelan > Setelan Dataproc JupyterLab.
Membuat template runtime Dataproc Serverless
Template runtime Dataproc Serverless (juga disebut template session
)
berisi setelan konfigurasi untuk menjalankan kode Spark dalam sesi. Anda dapat membuat dan mengelola template runtime menggunakan Jupyterlab atau gcloud CLI.
JupyterLab
Klik kartu
New runtime template
di bagian Dataproc Serverless Notebooks di halaman Launcher JupyterLab.Isi formulir Runtime template.
Tentukan Display name dan Description, lalu masukkan atau konfirmasi setelan lainnya.
Catatan:
Konfigurasi Jaringan: Subnet harus mengaktifkan Akses Google Pribadi dan mengizinkan komunikasi subnet di semua port (lihat Konfigurasi jaringan Dataproc Serverless untuk Spark).
Jika subnet jaringan
default
untuk region yang Anda konfigurasi saat menjalankangcloud init
di Sebelum memulai tidak diaktifkan untuk Akses Google Pribadi:- Aktifkan untuk Akses Google Pribadi, atau
- Pilih jaringan lain dengan subnetwork regional yang telah mengaktifkan Akses Google Pribadi. Anda dapat mengubah region yang digunakan Dataproc Serverless dari halaman Setelan > Setelan Dataproc JupyterLab.
Metastore: Untuk menggunakan layanan Dataproc Metastore dalam sesi Anda, pilih project ID, region, dan layanan metastore.
Waktu tidak ada aktivitas maksimum: Waktu tidak ada aktivitas notebook maksimum sebelum sesi dihentikan. Rentang yang diizinkan: 10 menit hingga 336 jam (14 hari).
Waktu sesi maksimum: Masa aktif maksimum sesi sebelum sesi dihentikan. Rentang yang diizinkan: 10 menit hingga 336 jam (14 hari).
PHS: Anda dapat memilih Persistent Spark History Server yang tersedia untuk memungkinkan Anda mengakses log sesi selama dan setelah sesi.
Properti Spark: Klik Tambahkan Properti untuk setiap properti yang akan ditetapkan untuk sesi Spark serverless Anda. Lihat properti Spark untuk mengetahui listingan properti Spark yang didukung dan tidak didukung, termasuk properti runtime, resource, dan penskalaan otomatis Spark.
Label: Klik Tambahkan Label untuk setiap label yang akan ditetapkan pada sesi Spark serverless Anda.
Lihat template runtime Anda dari halaman Setelan > Setelan Dataproc.
- Anda dapat menghapus template dari menu Action untuk template tersebut.
Klik Simpan.
Buka dan muat ulang halaman Peluncur JupyterLab untuk melihat kartu template notebook yang disimpan di halaman Peluncur JupyterLab.
gcloud
Buat file YAML dengan konfigurasi template runtime Anda.
YAML Sederhana
environmentConfig: executionConfig: networkUri: default jupyterSession: kernel: PYTHON displayName: Team A labels: purpose: testing description: Team A Development Environment
YAML Kompleks
environmentConfig: executionConfig: serviceAccount: sa1 # Choose either networkUri or subnetworkUri networkUri: default subnetworkUri: subnet networkTags: - tag1 kmsKey: key1 idleTtl: 3600s ttl: 14400s stagingBucket: staging-bucket peripheralsConfig: metastoreService: projects/my-project-id/locations/us-central1/services/my-metastore-id sparkHistoryServerConfig: dataprocCluster: projects/my-project-id/regions/us-central1/clusters/my-cluster-id jupyterSession: kernel: PYTHON displayName: Team A labels: purpose: testing runtimeConfig: version: "1.1" containerImage: gcr.io/my-project-id/my-image:1.0.1 properties: "p1": "v1" description: Team A Development Environment
Jika subnet jaringan
default
untuk region yang Anda konfigurasi saat menjalankangcloud init
di Sebelum memulai tidak diaktifkan untuk Akses Google Pribadi:- Aktifkan untuk Akses Google Pribadi, atau
- Pilih jaringan lain dengan subnetwork regional yang telah mengaktifkan Akses Google Pribadi. Anda dapat mengubah region yang digunakan Dataproc Serverless dari halaman Setelan > Setelan Dataproc JupyterLab.
Buat template sesi (runtime) dari file YAML dengan menjalankan perintah gcloud beta dataproc session-templates import berikut secara lokal atau di Cloud Shell:
gcloud beta dataproc session-templates import TEMPLATE_ID \ --source=YAML_FILE \ --project=PROJECT_ID \ --location=REGION
- Lihat gcloud beta dataproc session-templates untuk mengetahui perintah guna mendeskripsikan, mencantumkan, mengekspor, dan menghapus template sesi.
Meluncurkan dan mengelola notebook
Setelah menginstal plugin JupyterLab Dataproc, Anda dapat mengklik kartu template di halaman Peluncur JupyterLab untuk:
Meluncurkan notebook Jupyter di Dataproc Serverless
Bagian Dataproc Serverless Notebooks di halaman Peluncur JupyterLab menampilkan kartu template notebook yang dipetakan ke template runtime Dataproc Serverless (lihat Membuat template runtime Dataproc Serverless).
Klik kartu untuk membuat sesi Dataproc Serverless dan meluncurkan notebook. Setelah pembuatan sesi selesai dan kernel notebook siap digunakan, status kernel akan berubah dari
Unknown
menjadiIdle
.Menulis dan menguji kode notebook.
Salin dan tempel kode
Pi estimation
PySpark berikut di sel notebook PySpark, lalu tekan Shift+Return untuk menjalankan kode.import random def inside(p): x, y = random.random(), random.random() return x*x + y*y < 1 count = sc.parallelize(range(0, 10000)) .filter(inside).count() print("Pi is roughly %f" % (4.0 * count / 10000))
Hasil notebook:
Setelah membuat dan menggunakan notebook, Anda dapat menghentikan sesi notebook dengan mengklik Shut Down Kernel dari tab Kernel.
- Jika Anda tidak menghentikan sesi, Dataproc akan menghentikan sesi saat timer tidak ada aktivitas sesi berakhir. Anda dapat mengonfigurasi waktu tidak ada aktivitas sesi di konfigurasi template runtime. Waktu tidak ada aktivitas sesi default adalah satu jam.
Meluncurkan notebook di cluster Dataproc di Compute Engine
Jika Anda membuat Dataproc di cluster Jupyter Compute Engine, halaman Peluncur JupyterLab akan berisi bagian Notebook Cluster Dataproc dengan kartu kernel yang telah diinstal sebelumnya.
Untuk meluncurkan notebook Jupyter di cluster Dataproc di Compute Engine:
Klik kartu di bagian Dataproc Cluster Notebook.
Saat status kernel berubah dari
Unknown
menjadiIdle
, Anda dapat mulai menulis dan menjalankan kode notebook.Setelah membuat dan menggunakan notebook, Anda dapat menghentikan sesi notebook dengan mengklik Shut Down Kernel dari tab Kernel.
Mengelola file input dan output di Cloud Storage
Menganalisis data eksploratif dan membuat model ML sering kali melibatkan input dan output berbasis file. Dataproc Serverless mengakses file ini di Cloud Storage.
Untuk mengakses browser Cloud Storage, klik ikon browser Cloud Storage di sidebar halaman Peluncur JupyterLab, lalu klik dua kali folder untuk melihat kontennya.
Anda dapat mengklik jenis file yang didukung Jupyter untuk membuka dan mengeditnya. Saat Anda menyimpan perubahan pada file, file tersebut akan ditulis ke Cloud Storage.
Untuk membuat folder Cloud Storage baru, klik ikon folder baru, lalu masukkan nama folder.
Untuk mengupload file ke bucket atau folder Cloud Storage, klik ikon upload, lalu pilih file yang akan diupload.
Mengembangkan kode notebook Spark
Setelah menginstal plugin JupyterLab Dataproc, Anda dapat meluncurkan notebook Jupyter dari halaman Peluncur JupyterLab untuk mengembangkan kode aplikasi.
Pengembangan kode PySpark dan Python
Dataproc Serverless dan Dataproc di cluster Compute Engine mendukung kernel PySpark. Dataproc di Compute Engine juga mendukung kernel Python.
Klik kartu PySpark di bagian Dataproc Serverless Notebooks atau Dataproc Cluster Notebook di halaman Launcher JupyterLab untuk membuka notebook PySpark.
Klik kartu kernel Python di bagian Dataproc Cluster Notebook di halaman Launcher JupyterLab untuk membuka notebook Python.
Pengembangan kode SQL
Untuk membuka notebook PySpark guna menulis dan menjalankan kode SQL, di halaman Peluncur JupyterLab, di bagian Dataproc Serverless Notebooks atau Dataproc Cluster Notebook, klik kartu kernel PySpark.
Spark SQL magic: Karena kernel PySpark yang meluncurkan
Notebook Serverless Dataproc
dimuat sebelumnya dengan Spark SQL magic, Anda dapat mengetik
%%sparksql magic
di bagian atas sel, lalu mengetik pernyataan SQL di sel, bukan menggunakan spark.sql('SQL STATEMENT').show()
untuk menggabungkan pernyataan SQL.
BigQuery SQL: Konektor BigQuery Spark memungkinkan kode notebook Anda memuat data dari tabel BigQuery, melakukan analisis di Spark, lalu menulis hasilnya ke tabel BigQuery.
Runtime Dataproc Serverless 2.1 menyertakan konektor BigQuery Spark. Jika menggunakan runtime Dataproc Serverless 2.0 atau yang lebih lama untuk meluncurkan notebook Dataproc Serverless, Anda dapat menginstal Spark BigQuery Connector dengan menambahkan properti Spark berikut ke template runtime Dataproc Serverless:
spark.jars: gs://spark-lib/bigquery/spark-bigquery-with-dependencies_2.12-0.25.2.jar
Pengembangan kode Scala
Dataproc di cluster Compute Engine yang dibuat dengan image versi 2.0+, 2.1+, dan yang lebih baru, menyertakan Apache Toree, kernel Scala untuk platform Jupyter Notebook yang menyediakan akses interaktif ke Spark.
Klik kartu Apache Toree di bagian Notebook cluster Dataproc di halaman Peluncur JupyterLab untuk membuka notebook bagi pengembangan kode Scala.
Gambar 1. Kartu kernel Apache Toree di halaman Peluncur JupyterLab.
Penjelajah metadata
Jika instance Dataproc Metastore (DPMS) disertakan ke template runtime Dataproc Serverless atau cluster Dataproc di Compute Engine, skema instance DPMS akan ditampilkan di JupyterLab Metadata Explorer saat notebook dibuka. DPMS adalah layanan Hive Metastore (HMS) yang terkelola sepenuhnya dan skalabel secara horizontal di Google Cloud.
Untuk melihat metadata HMS di Metadata Explorer:
Aktifkan Data Catalog API di project Anda.
Aktifkan sinkronisasi Data Catalog di layanan DPMS Anda.
Tentukan instance DPMS saat Anda membuat template runtime Dataproc Serverless atau membuat cluster Dataproc di Compute Engine.
Untuk membuka JupyterLab Metadata Explorer, klik ikonnya di sidebar.
Anda dapat menelusuri database, tabel, atau kolom di Metadata Explorer. Klik nama database, tabel, atau kolom untuk melihat metadata terkait.
Men-deploy kode
Setelah menginstal plugin JupyterLab Dataproc, Anda dapat menggunakan JupyterLab untuk:
Menjalankan kode notebook Anda di infrastruktur Dataproc Serverless
Kirim tugas batch ke infrastruktur Dataproc Serverless atau ke cluster Dataproc di Compute Engine.
Menjalankan kode notebook di Dataproc Serverless
Untuk menjalankan kode di sel notebook, klik Run atau tekan tombol Shift-Return untuk menjalankan kode di sel notebook.
Untuk menjalankan kode di satu atau beberapa sel notebook, gunakan menu Run.
Mengirimkan tugas batch ke Dataproc Serverless
Klik kartu Serverless di bagian Dataproc Jobs and Sessions di halaman Launcher JupyterLab.
Klik tab Batch, lalu klik Create Batch dan isi kolom Batch Info.
Klik Kirim untuk mengirimkan tugas.
Mengirimkan tugas batch ke cluster Dataproc di Compute Engine
Klik kartu Clusters di bagian Dataproc Jobs and Sessions di halaman Launcher JupyterLab.
Klik tab Jobs, lalu klik Submit Job.
Pilih Cluster, lalu isi kolom Job.
Klik Kirim untuk mengirimkan tugas.
Melihat dan mengelola resource
Setelah menginstal plugin JupyterLab Dataproc, Anda dapat melihat dan mengelola Dataproc Serverless dan Dataproc di Compute Engine dari bagian Tugas dan Sesi Dataproc di halaman Peluncur JupyterLab.
Klik bagian Dataproc Jobs and Sessions untuk menampilkan kartu Clusters dan Serverless.
Untuk melihat dan mengelola sesi Dataproc Serverless:
- Klik kartu Serverless.
- Klik tab Sesi, lalu ID sesi untuk membuka halaman Detail sesi guna melihat properti sesi, melihat log Google Cloud di Logs Explorer, dan menghentikan sesi. Catatan: Sesi Dataproc Serverless unik dibuat untuk meluncurkan setiap notebook Dataproc Serverless.
Untuk melihat dan mengelola batch Dataproc Serverless:
- Klik tab Batches untuk melihat daftar batch Dataproc Serverless di project dan region saat ini. Klik ID batch untuk melihat detail batch.
Untuk melihat dan mengelola Dataproc di cluster Compute Engine:
- Klik kartu Cluster. Tab Clusters dipilih untuk mencantumkan cluster Dataproc aktif di Compute Engine di project dan region saat ini. Anda dapat mengklik ikon di kolom Tindakan untuk memulai, menghentikan, atau memulai ulang cluster. Klik nama cluster untuk melihat detail cluster. Anda dapat mengklik ikon di kolom Tindakan untuk meng-clone, menghentikan, atau menghapus tugas.
Untuk melihat dan mengelola tugas Dataproc di Compute Engine:
- Klik kartu Tugas untuk melihat daftar tugas dalam project saat ini. Klik ID tugas untuk melihat detail tugas.