Membuat instance yang mendukung Spark Dataproc
Halaman ini menjelaskan cara membuat instance Vertex AI Workbench yang mendukung Spark Dataproc. Halaman ini juga menjelaskan manfaat ekstensi Dataproc JupyterLab dan memberikan ringkasan tentang cara menggunakan ekstensi dengan Serverless for Apache Spark dan Dataproc di Compute Engine.
Ringkasan ekstensi JupyterLab Dataproc
Instance Vertex AI Workbench telah menginstal ekstensi Dataproc
JupyterLab sebelumnya, mulai dari versi M113
dan yang lebih baru.
Ekstensi Dataproc JupyterLab menyediakan dua cara untuk menjalankan tugas notebook Apache Spark: cluster Dataproc danGoogle Cloud Serverless untuk Apache Spark.
- Cluster Dataproc mencakup serangkaian fitur yang kaya dengan kontrol atas infrastruktur tempat Spark berjalan. Anda memilih ukuran dan konfigurasi cluster Spark, sehingga memungkinkan penyesuaian dan kontrol atas lingkungan Anda. Pendekatan ini ideal untuk beban kerja yang kompleks, tugas yang berjalan lama, dan pengelolaan resource terperinci.
- Serverless untuk Apache Spark menghilangkan kekhawatiran terkait infrastruktur. Anda mengirimkan tugas Spark, dan Google menangani penyediaan, penskalaan, dan pengoptimalan resource di balik layar. Pendekatan serverless ini menawarkan opsi hemat biaya untuk workload data science dan ML.
Dengan kedua opsi tersebut, Anda dapat menggunakan Spark untuk pemrosesan dan analisis data. Pilihan antara cluster Dataproc dan Serverless untuk Apache Spark bergantung pada persyaratan workload spesifik, tingkat kontrol yang diperlukan, dan pola penggunaan resource.
Manfaat menggunakan Serverless untuk Apache Spark bagi workload data science dan ML meliputi:
- Tidak ada pengelolaan cluster: Anda tidak perlu khawatir tentang penyediaan, konfigurasi, atau pengelolaan cluster Spark. Hal ini akan menghemat waktu dan sumber daya Anda.
- Penskalaan otomatis: Serverless for Apache Spark secara otomatis melakukan penskalaan ke atas dan ke bawah berdasarkan workload, sehingga Anda hanya membayar resource yang Anda gunakan.
- Performa tinggi: Serverless untuk Apache Spark dioptimalkan untuk performa dan memanfaatkan infrastruktur Google Cloud. Google Cloud
- Integrasi dengan teknologi Google Cloud lain: Serverless untuk Apache Spark terintegrasi dengan produk Google Cloud lain, seperti BigQuery dan Katalog Universal Dataplex.
Untuk mengetahui informasi selengkapnya, lihat Google Cloud dokumentasi Serverless untuk Apache Spark.
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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Enable the Cloud Resource Manager, Dataproc, and Notebooks APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Enable the Cloud Resource Manager, Dataproc, and Notebooks APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Dataproc Worker (
roles/dataproc.worker
) di project Anda -
Editor Dataproc (
roles/dataproc.editor
) di cluster untuk izindataproc.clusters.use
-
dataproc.agents.create
-
dataproc.agents.delete
-
dataproc.agents.get
-
dataproc.agents.update
-
dataproc.tasks.lease
-
dataproc.tasks.listInvalidatedLeases
-
dataproc.tasks.reportStatus
-
dataproc.clusters.use
Di konsol Google Cloud , buka halaman Instances.
Klik
Buat baru.Dalam dialog Instance baru, klik Opsi lanjutan.
Pada dialog Buat instance, di bagian Detail, pastikan Aktifkan Sesi Interaktif Dataproc Serverless dipilih.
Pastikan Workbench type disetel ke Instance.
Di bagian Environment, pastikan Anda menggunakan versi terbaru atau versi dengan nomor
M113
atau yang lebih tinggi.Klik Buat.
Vertex AI Workbench membuat sebuah instance dan otomatis memulainya. Saat instance siap digunakan, Vertex AI Workbench akan mengaktifkan link Open JupyterLab.
Pilih Setelan > Cloud Dataproc Settings.
Di tab Setup Config, di bagian Project Info, ubah Project ID dan Region, lalu klik Save.
Perubahan ini tidak akan diterapkan hingga Anda memulai ulang JupyterLab.
Untuk memulai ulang JupyterLab, pilih File > Shut Down, lalu klik Open JupyterLab di halaman Vertex AI Workbench instances.
Entri DNS Anda dikonfigurasi dengan benar.
Ada cluster yang tersedia di project yang sama (atau Anda harus membuatnya jika tidak ada).
Cluster Anda telah mengaktifkan Component Gateway dan komponen Jupyter opsional.
Untuk mengetahui informasi selengkapnya tentang ekstensi Dataproc JupyterLab, lihat Menggunakan ekstensi JupyterLab untuk mengembangkan workload Spark serverless.
Untuk mempelajari Serverless untuk Apache Spark lebih lanjut, lihat dokumentasi Serverless untuk Apache Spark
Untuk mempelajari lebih lanjut cara menggunakan Spark dengan produk dan layanan Google Cloud , lihat Spark di Google Cloud.
Pelajari Serverless Spark melalui
serverless-spark-workshop
di GitHub.Baca dokumentasi Apache Spark.
Peran yang diperlukan
Untuk memastikan bahwa akun layanan memiliki izin yang diperlukan untuk menjalankan file notebook di cluster Serverless for Apache Spark atau cluster Dataproc, minta administrator Anda untuk memberikan peran IAM berikut kepada akun layanan:
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk menjalankan file notebook di cluster Serverless for Apache Spark atau cluster Dataproc. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menjalankan file notebook di cluster Serverless untuk Apache Spark atau cluster Dataproc:
Administrator Anda mungkin juga dapat memberi akun layanan izin ini dengan peran khusus atau peran bawaan lainnya.
Membuat instance dengan Dataproc diaktifkan
Untuk membuat instance Vertex AI Workbench dengan Dataproc yang diaktifkan, lakukan hal berikut:
Buka JupyterLab
Di samping nama instance, klik Open JupyterLab.
Tab Launcher JupyterLab akan terbuka di browser Anda. Secara default, halaman ini berisi bagian untuk Notebook Serverless untuk Apache Spark dan Tugas dan Sesi Dataproc. Jika ada cluster yang siap digunakan Jupyter di project dan region yang dipilih, akan ada bagian yang disebut Notebook Cluster Dataproc.
Menggunakan ekstensi dengan Serverless untuk Apache Spark
Template runtime Serverless for Apache Spark yang berada di region dan project yang sama dengan instance Vertex AI Workbench Anda akan muncul di bagian Serverless for Apache Spark Notebooks pada tab Launcher JupyterLab.
Untuk membuat template runtime, lihat Membuat template runtime Serverless for Apache Spark.
Untuk membuka notebook Spark serverless baru, klik template runtime. Kernel Spark jarak jauh memerlukan waktu sekitar satu menit untuk dimulai. Setelah kernel dimulai, Anda dapat mulai menulis kode.
Menggunakan ekstensi dengan Dataproc di Compute Engine
Jika Anda membuat cluster Jupyter Dataproc di Compute Engine, tab Launcher memiliki bagian Dataproc Cluster Notebooks.
Empat kartu muncul untuk setiap cluster Dataproc yang siap digunakan dengan Jupyter yang dapat Anda akses di region dan project tersebut.
Untuk mengubah region dan project, lakukan hal berikut:
Untuk membuat notebook baru, klik kartu. Setelah kernel jarak jauh di cluster Dataproc dimulai, Anda dapat mulai menulis kode, lalu menjalankannya di cluster.
Mengelola Dataproc di instance menggunakan gcloud CLI dan API
Bagian ini menjelaskan cara mengelola Dataproc di instance Vertex AI Workbench.
Mengubah region cluster Dataproc
Kernel default instance Vertex AI Workbench Anda, seperti Python dan TensorFlow, adalah kernel lokal yang berjalan di VM instance. Di instance Vertex AI Workbench yang mendukung Spark Dataproc, notebook Anda berjalan di cluster Dataproc melalui kernel jarak jauh. Kernel jarak jauh berjalan di layanan di luar VM instance Anda, yang memungkinkan Anda mengakses cluster Dataproc mana pun dalam project yang sama.
Secara default, Vertex AI Workbench menggunakan cluster Dataproc dalam region yang sama dengan instance Anda, tetapi Anda dapat mengubah region Dataproc selama Component Gateway dan komponen Jupyter opsional diaktifkan di cluster Dataproc.
Pengujian Akses
Ekstensi Dataproc JupyterLab diaktifkan secara default untuk instance Vertex AI Workbench. Untuk menguji akses ke Dataproc, Anda dapat memeriksa akses ke kernel jarak jauh instance dengan mengirim permintaan curl berikut ke domain kernels.googleusercontent.com
:
curl --verbose -H "Authorization: Bearer $(gcloud auth print-access-token)" https://PROJECT_ID-dot-REGION.kernels.googleusercontent.com/api/kernelspecs | jq .
Jika perintah curl gagal, periksa untuk memastikan bahwa:
Menonaktifkan Dataproc
Instance Vertex AI Workbench dibuat dengan Dataproc
yang diaktifkan secara default. Anda dapat membuat instance Vertex AI Workbench dengan
Dataproc dinonaktifkan dengan menyetel kunci disable-mixer
metadata
ke true
.
gcloud workbench instances create INSTANCE_NAME --metadata=disable-mixer=true
Mengaktifkan Dataproc
Anda dapat mengaktifkan Dataproc di instance Vertex AI Workbench yang dihentikan dengan memperbarui nilai metadata.
gcloud workbench instances update INSTANCE_NAME --metadata=disable-mixer=false
Mengelola Dataproc menggunakan Terraform
Instance Dataproc untuk Vertex AI Workbench
di Terraform dikelola menggunakan kunci disable-mixer
di kolom metadata.
Aktifkan Dataproc dengan menetapkan kunci disable-mixer
metadata
ke false
. Nonaktifkan Dataproc dengan menetapkan
kunci metadata disable-mixer
ke true
.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Memecahkan masalah
Untuk mendiagnosis dan menyelesaikan masalah terkait pembuatan instance yang mendukung Spark Dataproc, lihat Memecahkan masalah Vertex AI Workbench.