Puoi installare componenti aggiuntivi come Hudi quando crei un cluster Dataproc utilizzando la funzionalità Componenti facoltativi. In questa pagina viene descritto come installare facoltativamente il componente Hudi su un cluster Dataproc.
Se installato su un cluster Dataproc, il componente Apache Hudi installa le librerie Hudi e configura Spark e Hive nel cluster in modo che funzionino 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, le seguenti proprietà Spark e Hive sono configurate per il funzionamento 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 durante la creazione di un cluster Dataproc.
Nelle pagine della versione della release immagine di Dataproc sono elencate le versioni dei componenti Hudi incluse in ogni release dell'immagine Dataproc.
Console
- Attiva il componente.
- Nella console Google Cloud, apri la pagina di Dataproc Crea un cluster. Il riquadro Configura cluster è selezionato.
- Nella sezione Componenti:
- In Componenti facoltativi, seleziona 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 nuovo nome del cluster.
- REGION: obbligatorio. La regione del cluster.
- DATAPROC_IMAGE: facoltativo. Puoi utilizzare questo flag facoltativo per specificare una versione dell'immagine Dataproc non predefinita (vedi Versione immagine Dataproc predefinita).
- PROPERTIES: facoltativo. Puoi utilizzare questo flag facoltativo per impostare le proprietà del componente Hud, che vengono specificate con il prefisso file
hudi:
. Esempio:properties=hudi:hoodie.datasource.write.table.type=COPY_ON_WRITE
.- Proprietà della versione del componente Hudi: facoltativamente, puoi specificare la
proprietà
dataproc:hudi.version
. 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à Spark e Hive: Dataproc imposta le proprietà Spark e Hive correlate a Hudi al momento della creazione del cluster. Non è necessario impostarle durante la creazione del cluster o l'invio dei job.
- Proprietà della versione del componente Hudi: facoltativamente, puoi specificare la
proprietà
API REST
Il componente Hudi può essere installato tramite l'API Dataproc utilizzando SoftwareConfig.Component
come parte di una richiesta clusters.create
.
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
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
Utilizza l'interfaccia a riga di comando di Hudi
L'interfaccia a riga di comando Hudi si trova in /usr/lib/hudi/cli/hudi-cli.sh
sul nodo master del cluster Dataproc. Puoi utilizzare l'interfaccia a riga di comando Hudi per visualizzare schemi, commit e statistiche delle tabelle Hudi, nonché per eseguire manualmente operazioni di amministrazione, come la compattazione della pianificazione (consulta la pagina relativa all'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 di commit. - Per interrompere la sessione dell'interfaccia a riga di comando, esegui
exit
.