Puoi installare componenti aggiuntivi come Hudi quando crei un progetto Dataproc utilizzando il cluster Componenti facoltativi funzionalità. Questa pagina descrive come installare facoltativamente il componente Hudi su un cluster Dataproc.
Quando è installato su un cluster Dataproc, Apache Hudi installa le librerie Hudi e configura Spark e Hive nel cluster per lavorare con Hudi.
Versioni immagine 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, vengono creati i seguenti elementi Spark e Hive sono configurate in modo da 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 |
Installa il componente
Installa il componente Hudi quando crei un cluster Dataproc.
Le pagine delle versioni delle release delle immagini Dataproc indica la versione del componente Hudi inclusa in ogni release dell'immagine Dataproc.
Console
- Attiva il componente.
- Nella console Google Cloud, apri Dataproc Crea un cluster . Il riquadro Configura cluster è selezionato.
- Nella sezione Componenti:
- In Componenti facoltativi, seleziona 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 usare questo flag facoltativo specificare una versione immagine Dataproc non predefinita (vedi Versione immagine Dataproc predefinita).
- PROPERTIES: facoltativo. Puoi usare questo flag facoltativo
imposta le proprietà del componente Hudi,
che sono specificati con
prefisso file di
hudi:
Esempio:properties=hudi:hoodie.datasource.write.table.type=COPY_ON_WRITE
).- Proprietà della versione del componente Hudi: se vuoi, puoi specificare la proprietà
dataproc:hudi.version
. Nota: la versione del componente Hudi viene impostata da Dataproc in modo che sia compatibile con la versione dell'immagine del cluster Dataproc. Se imposti questa proprietà, la creazione del cluster può non riuscire se la versione specificata compatibili con l'immagine del cluster. - Proprietà Spark e Hive: Dataproc imposta le proprietà Spark e Hive relative a Hudi al momento della creazione del cluster. Non è necessario impostarle durante la creazione del cluster o l'invio di job.
- Proprietà della versione del componente Hudi: se vuoi, puoi specificare la proprietà
API REST
Il componente Hudi
può essere installato tramite l'API Dataproc utilizzando
SoftwareConfig.Component
nell'ambito di un
clusters.create
richiesta.
Invia 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.
Esempio di gcloud CLI
:
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ --region=region \ JOB_FILE \ -- JOB_ARGS
Esempio di job PySpark
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 all'indirizzo /usr/lib/hudi/cli/hudi-cli.sh
sulla
Nodo master del cluster Dataproc. Puoi utilizzare la CLI Hudi per visualizzare gli schemi, i commit e le statistiche delle tabelle Hudi ed eseguire manualmente operazioni amministrative, come la pianificazione delle compattazioni (consulta Utilizzo di hudi-cli).
Per avviare Hudi CLI 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, ad esempio
desc
, che descrive lo schema della tabella, ocommits show
, che mostra la cronologia dei commit. - Per arrestare la sessione dell'interfaccia a riga di comando, esegui
exit
.