Puoi installare componenti aggiuntivi come Hudi quando crei un cluster Dataproc utilizzando la funzionalità Componenti facoltativi. Questa pagina descrive come installare facoltativamente il componente Hudi su un cluster Dataproc.
Quando viene installato su un cluster Dataproc, il componente Apache Hudi installa le librerie Hudi e configura Spark e Hive nel cluster per funzionare con Hudi.
Versioni immagine di Dataproc compatibili
Puoi installare il componente Hudi sui cluster Dataproc creati con le seguenti versioni immagine di Dataproc:
Proprietà correlate a Hudi
Quando crei un cluster Dataproc con Hudi, le seguenti proprietà di Spark e Hive vengono configurate per funzionare con Hudi.
| File di configurazione | Proprietà | Valore predefinito |
|---|---|---|
/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 |
Installare il componente
Installa il componente Hudi quando crei un cluster Dataproc.
Le pagine delle versioni di rilascio delle immagini di Dataproc elencano la versione del componente Hudi inclusa in ogni rilascio di immagini di Dataproc.
Console
- Attiva il componente.
- Nella Google Cloud console, apri la pagina Crea un cluster Dataproc. Viene selezionato il riquadro Configura cluster.
- Nella sezione Componenti:
- In Componenti facoltativi, seleziona il il componente Hudi.
Comando g-cloud
Per creare un cluster Dataproc che includa il componente Hudi,
utilizza il comando con il flag --optional-components.
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --optional-components=HUDI \ --image-version=DATAPROC_VERSION \ --properties=PROPERTIES
Sostituisci quanto segue:
- CLUSTER_NAME: obbligatorio. Il nome del nuovo cluster.
- REGION: obbligatorio. La regione del cluster.
- DATAPROC_IMAGE: facoltativo. Puoi utilizzare questo flag facoltativo per specificare una versione immagine di Dataproc non predefinita (vedi Versione immagine di Dataproc predefinita).
- PROPERTIES: facoltativo. Puoi utilizzare questo flag facoltativo per
impostare le proprietà del componente Hudi,
che vengono specificate con il
prefisso del file
hudi:Esempio:properties=hudi:hoodie.datasource.write.table.type=COPY_ON_WRITE).- Proprietà della versione del componente Hudi: puoi specificare facoltativamente la
dataproc:hudi.versionproprietà. Nota: la versione del componente Hudi è impostata da Dataproc in modo che sia compatibile con la versione immagine del cluster Dataproc. Se imposti questa proprietà, la creazione del cluster può non riuscire se la versione specificata non è compatibile con l'immagine del cluster. - Proprietà di Spark e Hive: Dataproc imposta le proprietà di Spark e Hive correlate a Hudi quando viene creato il cluster. Non è necessario impostarle quando crei il cluster o invii i job.
- Proprietà della versione del componente Hudi: puoi specificare facoltativamente la
API REST
Il componente Hudi
può essere installato tramite l'API Dataproc utilizzando
SoftwareConfig.Component
come parte di una
clusters.create
richiesta.
Inviare un job per leggere e scrivere tabelle Hudi
Dopo aver creato un cluster con il componente Hudi, puoi inviare job Spark e Hive che leggono e scrivono tabelle Hudi.
gcloud CLI esempio:
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ --region=region \ JOB_FILE \ -- JOB_ARGS
Job PySpark di esempio
Il seguente file PySpark crea, legge e scrive una tabella Hudi.
Il seguente comando gcloud CLI invia il file PySpark di esempio a Dataproc.
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ gs://BUCKET_NAME/pyspark_hudi_example.py \ -- TABLE_NAME gs://BUCKET_NAME/TABLE_NAME
Utilizzare l'interfaccia a riga di comando Hudi
L'interfaccia a riga di comando Hudi si trova in /usr/lib/hudi/cli/hudi-cli.sh nel
nodo master del cluster Dataproc. Puoi utilizzare l'interfaccia a riga di comando Hudi
per visualizzare gli schemi, i commit e le statistiche delle tabelle Hudi e per eseguire manualmente
operazioni amministrative, come la pianificazione delle compattazioni (vedi
Utilizzo di hudi-cli).
Per avviare l'interfaccia a riga di comando Hudi e connetterti a una tabella Hudi:
- Accedi tramite SSH al nodo master.
- Esegui
/usr/lib/hudi/cli/hudi-cli.sh. Il prompt dei comandi diventahudi->. - Esegui
connect --path gs://my-bucket/my-hudi-table. - Esegui comandi come
desc, che descrive lo schema della tabella, ocommits show, che mostra la cronologia dei commit. - Per interrompere la sessione dell'interfaccia a riga di comando, esegui
exit.
Passaggi successivi
- Consulta la guida rapida di Hudi.