Dokumen ini membahas praktik terbaik Dataproc yang dapat membantu Anda menjalankan tugas pemrosesan data yang andal, efisien, dan berwawasan di cluster Dataproc dalam lingkungan produksi.
Menentukan versi image cluster
Dataproc menggunakan versi image untuk memaketkan sistem operasi, komponen big data, dan konektor Google Cloud menjadi satu paket yang di-deploy di cluster. Jika Anda tidak menentukan versi image saat membuat cluster, Dataproc akan menggunakan versi image stabil terbaru secara default.
Untuk lingkungan produksi, kaitkan cluster Anda dengan versi image Dataproc major.minor
tertentu, seperti yang ditunjukkan dalam perintah gcloud CLI berikut.
gcloud dataproc clusters create CLUSTER_NAME \ --region=region \ --image-version=2.0
Dataproc menyelesaikan versi major.minor
ke versi sub-minor terbaru
(2.0
diselesaikan ke 2.0.x
). Catatan: jika Anda perlu mengandalkan versi sub-minor tertentu untuk cluster, Anda dapat menentukannya: misalnya, --image-version=2.0.x
. Lihat
Cara kerja pembuatan versi untuk
mengetahui informasi selengkapnya.
Versi gambar pratinjau Dataproc
Versi minor baru image Dataproc tersedia dalam versi preview
sebelum dirilis di jalur versi image minor standar. Gunakan gambar pratinjau
untuk menguji dan memvalidasi tugas terhadap versi gambar minor baru
sebelum mengadopsi versi gambar minor standar dalam produksi.
Lihat Pembuatan versi Dataproc
untuk mengetahui informasi selengkapnya.
Gunakan gambar kustom jika diperlukan
Jika Anda memiliki dependensi untuk ditambahkan ke cluster, seperti library Python native, atau software penguatan keamanan atau perlindungan antivirus, buat image kustom dari image terbaru di jalur versi image minor target Anda. Praktik ini memungkinkan Anda memenuhi persyaratan dependensi saat membuat cluster menggunakan image kustom. Saat Anda membangun ulang image kustom untuk memperbarui persyaratan dependensi, gunakan versi image sub-minor terbaru yang tersedia dalam jalur image minor.
Mengirimkan tugas ke layanan Dataproc
Kirim tugas ke layanan Dataproc dengan panggilan jobs.submit menggunakan gcloud CLI atau konsol Google Cloud . Tetapkan izin tugas dan cluster dengan memberikan peran Dataproc. Gunakan peran kustom untuk memisahkan akses cluster dari izin pengiriman tugas.
Manfaat mengirimkan tugas ke layanan Dataproc:
- Tidak memerlukan setelan jaringan yang rumit - API dapat dijangkau secara luas
- Mudah mengelola izin dan peran IAM
- Lacak status tugas dengan mudah - tidak ada metadata tugas Dataproc yang memperumit hasil.
Dalam produksi, jalankan tugas yang hanya bergantung pada dependensi tingkat cluster pada versi image minor tetap, (misalnya, --image-version=2.0
). Gabungkan dependensi dengan tugas saat tugas dikirimkan. Mengirimkan
uber jar ke
Spark atau MapReduce adalah cara umum untuk melakukannya.
- Contoh: Jika jar tugas bergantung pada
args4j
danspark-sql
, denganargs4j
khusus untuk tugas danspark-sql
sebagai dependensi tingkat cluster, gabungkanargs4j
dalam uber jar tugas.
Mengontrol lokasi tindakan inisialisasi
Tindakan inisialisasi memungkinkan Anda menjalankan skrip atau menginstal komponen secara otomatis saat membuat cluster Dataproc (lihat repositori GitHub dataproc-initialization-actions untuk tindakan inisialisasi Dataproc umum). Saat menggunakan tindakan inisialisasi cluster di lingkungan produksi, salin skrip inisialisasi ke Cloud Storage, bukan mengambilnya dari repositori publik. Praktik ini menghindari menjalankan skrip inisialisasi yang dapat dimodifikasi oleh orang lain.
Memantau catatan rilis Dataproc
Dataproc secara rutin merilis versi image sub-minor baru. Lihat atau berlangganan catatan rilis Dataproc untuk mengetahui rilis versi image Dataproc terbaru dan pengumuman, perubahan, serta perbaikan lainnya.
Melihat bucket penyiapan untuk menyelidiki kegagalan
Lihat bucket penyiapan cluster Anda untuk menyelidiki pesan error cluster dan tugas. Biasanya, lokasi Cloud Storage bucket penyiapan ditampilkan dalam pesan error, seperti yang ditunjukkan dalam teks tebal dalam contoh pesan error berikut:
ERROR: (gcloud.dataproc.clusters.create) Operation ... failed: ... - Initialization action failed. Failed action ... see output in: gs://dataproc-<BUCKETID>-us-central1/google-cloud-dataproc-metainfo/CLUSTERID/<CLUSTER_ID>\dataproc-initialization-script-0_output
Gunakan gcloud CLI untuk melihat isi bucket penyiapan:
Contoh output:gcloud storage cat gs://STAGING_BUCKET
+ readonly RANGER_VERSION=1.2.0 ... Ranger admin password not set. Please use metadata flag - default-password
Mendapatkan dukungan
Google Cloud mendukung beban kerja OSS produksi Anda dan membantu Anda memenuhi SLA bisnis melalui tingkatan dukungan. Selain itu, Google Cloud Layanan Konsultasi dapat memberikan panduan tentang praktik terbaik untuk deployment produksi tim Anda.
Untuk informasi selengkapnya
Baca Google Cloud blog Panduan praktik terbaik Dataproc.
Tonton Democratizing Dataproc di YouTube.