Komponen Apache Hudi memungkinkan Anda menjalankan Hudi di Managed Service untuk Apache Spark. Saat Anda menginstal komponen selama pembuatan cluster menggunakan fitur Komponen opsional, komponen ini akan men-deploy library Hudi dan mengonfigurasi Spark dan Hive di cluster agar berfungsi dengan Hudi.
Versi image Managed Service untuk Apache Spark yang kompatibel
Anda dapat menginstal komponen Hudi di cluster Managed Service untuk Apache Spark yang dibuat dengan versi image Managed Service untuk Apache Spark berikut:
Properti terkait Hudi
Saat Anda membuat cluster Managed Service untuk Apache Spark dengan Hudi, properti Spark dan Hive berikut dikonfigurasi untuk 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 Managed Service untuk Apache Spark.
Halaman versi rilis image Managed Service untuk Apache Spark mencantumkan versi komponen Hudi yang disertakan dalam setiap rilis image Managed Service untuk Apache Spark.
KonsolGoogle Cloud
- Di konsol Google Cloud , buka halaman Create cluster.
- Klik Additional configuration untuk meluaskan bagian tersebut.
- Edit Optional components.
- Di panel yang terbuka, centang kotak untuk Hudi.
- Klik Simpan.
gcloud CLI
Untuk membuat cluster Managed Service untuk Apache Spark 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 flag opsional ini untuk menentukan versi image Managed Service untuk Apache Spark non-default (lihat Versi image Managed Service untuk Apache Spark default).
- PROPERTIES: Opsional. Anda dapat menggunakan flag opsional ini 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: Anda dapat menentukan
properti
dataproc:hudi.versionsecara opsional. Catatan: Versi komponen Hudi ditetapkan oleh Managed Service untuk Apache Spark agar kompatibel dengan versi image cluster Managed Service untuk Apache Spark. Jika Anda menetapkan properti ini, pembuatan cluster dapat gagal jika versi yang ditentukan tidak kompatibel dengan image cluster. - Properti Spark dan Hive: Managed Service untuk Apache Spark menetapkan properti Spark dan Hive terkait Hudi saat cluster dibuat. Anda tidak perlu menetapkannya saat membuat cluster atau mengirimkan tugas.
- Properti versi komponen Hudi: Anda dapat menentukan
properti
REST API
Komponen Hudi dapat diinstal melalui Dataproc API menggunakan SoftwareConfig.Component sebagai bagian dari permintaan clusters.create.
Mengirimkan 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.
gcloud CLI contoh:
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ --region=region \ JOB_FILE \ -- JOB_ARGS
Contoh tugas PySpark
File PySpark berikut membuat, membaca, dan menulis tabel Hudi.
Perintah gcloud CLI berikut mengirimkan file PySpark contoh ke Managed Service untuk Apache Spark.
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 Managed Service untuk Apache Spark. Anda dapat menggunakan Hudi CLI untuk melihat skema, commit, dan statistik tabel Hudi, serta untuk melakukan operasi administratif secara manual, seperti menjadwalkan pemadatan (lihat Menggunakan hudi-cli).
Untuk memulai Hudi CLI dan terhubung ke tabel Hudi:
- Gunakan SSH untuk mengakses node master.
- Jalankan
/usr/lib/hudi/cli/hudi-cli.sh. Command prompt akan 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.
Langkah berikutnya
- Lihat Panduan Memulai Cepat Hudi.