Batasan dan pertimbangan Serverless Dataproc
- Tugas Spark dijalankan dengan identitas akun layanan, bukan identitas pengguna yang mengirim.
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.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Aktifkan API Dataproc.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Aktifkan API Dataproc.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Menginstal plugin Dataproc JupyterLab
Anda dapat menginstal dan menggunakan plugin Dataproc JupyterLab pada mesin atau VM yang memiliki akses ke layanan Google, seperti komputer lokal atau instance VM Compute Engine.
Untuk menginstal plugin, ikuti langkah berikut:
Pastikan
Python 3.8+
diinstal di komputer Anda. Anda dapat mendownload dan menginstal Python daripython.org/downloads
.Verifikasi penginstalan Python 3.8+.
python3 --version
Instal
JupyterLab 3.6.3+
di komputer Anda.pip3 install --upgrade jupyterlab
Verifikasi instalasi JupyterLab 3.6.3+.
pip3 show jupyterlab
Instal plugin Dataproc JupyterLab.
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. Dialog ini berisi bagian Tugas dan Sesi Dataproc. Class ini juga dapat berisi bagian Dataproc Serverless Notebooks dan Dataproc Cluster Notebooks jika Anda memiliki akses ke notebook serverless Dataproc atau cluster Dataproc dengan komponen opsional Jupyter yang berjalan di project Anda.
Secara default, sesi Interaktif Dataproc Serverless untuk Spark berjalan di project dan region yang Anda tetapkan saat menjalankan
gcloud init
di bagian Sebelum memulai. Anda dapat mengubah setelan project dan region untuk sesi Anda dari halaman Settings > Dataproc Settings JupyterLab.
Membuat template runtime Dataproc Serverless
Template runtime Dataproc Serverless (juga disebut template session
) berisi setelan konfigurasi untuk menjalankan kode Spark dalam sebuah 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: Subnetwork harus mengaktifkan Akses Google Pribadi dan harus mengizinkan komunikasi subnet di semua port (lihat Dataproc Serverless untuk konfigurasi jaringan Spark).
Jika subnet jaringan
default
untuk region yang Anda konfigurasikan saat menjalankangcloud init
di bagian 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 Metastore Dataproc di 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 agar Anda dapat mengakses log sesi selama dan setelah sesi.
Spark properties: Klik Add Property untuk setiap properti yang akan ditetapkan untuk sesi Spark serverless. Lihat properti Spark untuk melihat listingan properti Spark yang didukung dan tidak didukung, termasuk properti runtime Spark, resource, dan penskalaan otomatis.
Label: Klik Add Label untuk setiap label untuk menetapkan sesi Spark serverless.
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 Launcher JupyterLab untuk melihat kartu template notebook yang tersimpan di halaman Launcher JupyterLab.
gcloud
Membuat 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 konfigurasikan saat menjalankangcloud init
di bagian 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 dalam mendeskripsikan, mencantumkan, mengekspor, dan menghapus template sesi.
Meluncurkan dan mengelola notebook
Setelah menginstal plugin Dataproc JupyterLab, Anda dapat mengklik kartu template di halaman Peluncur JupyterLab untuk:
Meluncurkan notebook Jupyter di Dataproc Serverless
Bagian Dataproc Serverless Notebooks pada halaman Peluncur JupyterLab menampilkan kartu template notebook yang memetakan 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
.Tulis dan uji kode notebook.
Salin dan tempel kode
Pi estimation
PySpark berikut di sel notebook PySpark, lalu tekan Shift+Return untuk menjalankan kode tersebut.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.
Luncurkan notebook pada Dataproc di cluster Compute Engine
Jika Anda membuat Dataproc di cluster Jupyter Compute Engine, halaman Peluncur JupyterLab berisi bagian Dataproc Cluster Notebook dengan kartu kernel yang telah diinstal sebelumnya.
Untuk meluncurkan notebook Jupyter di Dataproc di cluster Compute Engine:
Klik kartu di bagian Dataproc Cluster Notebook.
Saat status kernel berubah dari
Unknown
menjadiIdle
, Anda dapat mulai menulis dan mengeksekusi 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 membangun 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 Launcher 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, perubahan tersebut akan ditulis ke Cloud Storage.
Untuk membuat folder Cloud Storage baru, klik ikon folder baru, lalu masukkan nama folder tersebut.
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 Dataproc JupyterLab, 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
Klik kartu kernel PySpark di bagian Dataproc Serverless Notebooks atau Dataproc Cluster Notebook dari halaman Launcher JupyterLab untuk membuka notebook PySpark guna menulis dan mengeksekusi kode SQL.
Keajaiban SQL Spark: Karena kernel PySpark yang meluncurkan
Dataproc Serverless Notebooks
dimuat dengan keajaiban SQL Spark, bukan menggunakan spark.sql('SQL STATEMENT').show()
untuk menggabungkan pernyataan SQL, Anda dapat mengetik
%%sparksql magic
di bagian atas sel, lalu ketik pernyataan SQL Anda dalam sel.
BigQuery SQL: Konektor Spark BigQuery 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 Anda menggunakan Dataproc Serverless 2.0 atau runtime 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 pada 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 Dataproc Cluster Notebook di halaman Launcher JupyterLab untuk membuka notebook bagi pengembangan kode Scala.
Penjelajah metadata
Jika instance Dataproc Metastore (DPMS) dilampirkan ke template runtime Dataproc Serverless atau Dataproc di cluster Compute Engine, skema instance DPMS akan ditampilkan di Metadata Explorer JupyterLab 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 Dataproc di cluster Compute Engine.
Untuk membuka JupyterLab Metadata Explorer, klik ikonnya di bilah sisi.
Anda dapat mencari {i>database<i}, tabel, atau kolom di {i>Metadata Explorer<i}. Klik database, tabel, atau nama kolom untuk melihat metadata yang terkait.
Men-deploy kode
Setelah menginstal plugin Dataproc JupyterLab, Anda dapat menggunakan JupyterLab untuk:
Menjalankan kode notebook Anda di infrastruktur Dataproc Serverless
Kirim tugas batch ke infrastruktur Dataproc Serverless atau ke Dataproc di cluster Compute Engine.
Menjalankan kode notebook di Dataproc Serverless
Klik ikon Run atau tekan tombol Shift-Return untuk menjalankan kode dalam sel notebook.
Gunakan menu Run untuk menjalankan kode di satu atau beberapa sel notebook.
Mengirim 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.
Mengirim tugas batch ke Dataproc di cluster 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 Dataproc JupyterLab, 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 yang 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 Clusters. Tab Clusters dipilih untuk mencantumkan Dataproc yang aktif di cluster 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 Actions untuk meng-clone, menghentikan, atau menghapus tugas.
Untuk melihat dan mengelola tugas Dataproc di Compute Engine:
- Klik kartu Jobs untuk melihat daftar tugas dalam project saat ini. Klik ID pekerjaan untuk melihat detail tugas.