Anda dapat menginstal komponen tambahan seperti Hudi saat membuat cluster Dataproc menggunakan fitur Optional components. Halaman ini menjelaskan cara untuk secara opsional menginstal komponen Hudi di cluster Dataproc.
Saat diinstal pada cluster Dataproc, komponen Apache Hudi menginstal library Hudi dan mengonfigurasi Spark dan Hive dalam cluster agar berfungsi dengan Hudi.
Versi gambar Dataproc yang kompatibel
Anda dapat menginstal komponen Hudi pada cluster Dataproc yang dibuat dengan versi gambar Dataproc berikut:
Properti terkait Hudi
Saat Anda membuat Dataproc dengan cluster Hudi, properti Spark dan Hive berikut dikonfigurasi agar berfungsi dengan Hudi.
File konfigurasi | Properti | Nilai default |
---|---|---|
/etc/spark/conf/spark-defaults.conf |
spark.serializer |
org.apache.spark.serializer.KryoSerializer |
spark.sql.catalog.spark_catalog |
org.apache.spark.sql.hudi.catalog.HoodieCatalog |
|
spark.sql.extensions |
org.apache.spark.sql.hudi.HoodieSparkSessionExtension |
|
spark.driver.extraClassPath |
/usr/lib/hudi/lib/hudi-sparkspark-version-bundle_scala-version-hudi-version.jar |
|
spark.executor.extraClassPath |
/usr/lib/hudi/lib/hudi-sparkspark-version-bundle_scala-version-hudi-version.jar |
|
/etc/hive/conf/hive-site.xml |
hive.aux.jars.path |
file:///usr/lib/hudi/lib/hudi-hadoop-mr-bundle-version.jar |
Menginstal komponen
Instal komponen Hudi saat Anda membuat cluster Dataproc.
Halaman versi rilis gambar Dataproc mencantumkan versi komponen Hudi yang disertakan dalam setiap rilis image Dataproc.
Konsol
- Aktifkan komponen.
- Di konsol Google Cloud, buka halaman Create a cluster pada Dataproc. Panel Siapkan cluster dipilih.
- Di bagian Komponen:
- Di bagian Komponen opsional, pilih komponen Hudi.
Perintah gcloud
Untuk membuat cluster Dataproc yang menyertakan komponen Hudi, gunakan perintah dengan flag --optional-components
.
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --optional-components=HUDI \ --image-version=DATAPROC_VERSION \ --properties=PROPERTIES
Ganti kode berikut:
- CLUSTER_NAME: Wajib diisi. Nama cluster baru.
- REGION: Wajib diisi. Region cluster.
- DATAPROC_IMAGE: Opsional. Anda dapat menggunakan tanda ini secara opsional untuk menentukan versi gambar Dataproc non-default (lihat Versi gambar Dataproc default).
- PROPERTIES: Opsional. Anda dapat menggunakan flag ini secara opsional untuk
menetapkan properti komponen Hudi,
yang ditentukan dengan
awalan file
hudi:
Contoh:properties=hudi:hoodie.datasource.write.table.type=COPY_ON_WRITE
).- Properti versi komponen Hudi: Secara opsional, Anda dapat menentukan properti
dataproc:hudi.version
. Catatan: Versi komponen Hudi ditetapkan oleh Dataproc agar kompatibel dengan versi gambar cluster Dataproc. Jika Anda menetapkan properti ini, pembuatan cluster dapat gagal jika versi yang ditentukan tidak kompatibel dengan image cluster. - Properti Spark dan Hive: Dataproc menetapkan properti Spark dan Hive terkait Hudi saat cluster dibuat. Anda tidak perlu menetapkannya saat membuat cluster atau mengirimkan tugas.
- Properti versi komponen Hudi: Secara opsional, Anda dapat menentukan properti
REST API
Komponen Hudi dapat diinstal melalui Dataproc API menggunakan SoftwareConfig.Component
sebagai bagian dari permintaan clusters.create
.
Mengirim tugas untuk membaca dan menulis tabel Hudi
Setelah membuat cluster dengan komponen Hudi, Anda dapat mengirimkan tugas Spark dan Hive yang membaca dan menulis tabel Hudi.
Contoh gcloud CLI
:
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ --region=region \ --job-file=JOB_FILE \ -- JOB_ARGS
Contoh tugas PySpark
File PySpark berikut membuat, membaca, dan menulis tabel Hudi.
Perintah gcloud CLI berikut mengirimkan contoh file PySpark ke Dataproc.
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ gs://BUCKET_NAME/pyspark_hudi_example.py \ -- TABLE_NAME gs://BUCKET_NAME/TABLE_NAME
Menggunakan Hudi CLI
Hudi CLI terletak di /usr/lib/hudi/cli/hudi-cli.sh
pada
node master cluster Dataproc. Anda dapat menggunakan Hudi CLI
untuk melihat skema, commit, dan statistik tabel Hudi, serta untuk melakukan
operasi administratif secara manual, seperti pemadatan jadwal (lihat
Menggunakan hudi-cli).
Untuk memulai Hudi CLI dan terhubung ke tabel Hudi:
- SSH ke node master.
- Jalankan
/usr/lib/hudi/cli/hudi-cli.sh
. Command prompt berubah menjadihudi->
. - Jalankan
connect --path gs://my-bucket/my-hudi-table
. - Jalankan perintah, seperti
desc
, yang menjelaskan skema tabel, ataucommits show
, yang menampilkan histori commit. - Untuk menghentikan sesi CLI, jalankan
exit
.