Il componente Apache Hudi consente di eseguire Hudi su Managed Service for Apache Spark. Quando installi il componente durante la creazione del cluster utilizzando la funzionalità Componenti facoltativi, viene eseguito il deployment delle librerie Hudi e vengono configurati Spark e Hive nel cluster per l'utilizzo con Hudi.
Versioni delle immagini di Managed Service for Apache Spark compatibili
Puoi installare il componente Hudi sui cluster Managed Service for Apache Spark creati con le seguenti versioni immagine di Managed Service for Apache Spark:
Proprietà correlate a Hudi
Quando crei un cluster Managed Service for Apache Spark con Hudi, le seguenti proprietà 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 |
Installa il componente
Installa il componente Hudi quando crei un cluster Managed Service for Apache Spark.
Le pagine delle versioni di release delle immagini di Managed Service for Apache Spark elencano la versione del componente Hudi inclusa in ogni release delle immagini di Managed Service for Apache Spark.
ConsoleGoogle Cloud
- Nella console Google Cloud , apri la pagina Crea cluster.
- Fai clic su Configurazione aggiuntiva per espandere la sezione.
- Modifica i componenti facoltativi.
- Nel riquadro che si apre, seleziona la casella di controllo Hudi.
- Fai clic su Salva.
gcloud CLI
Per creare un cluster Managed Service for Apache Spark 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 immagine di Managed Service for Apache Spark non predefinita (consulta Versione immagine di Managed Service for Apache Spark predefinita).
- PROPERTIES: (Facoltativo) Puoi utilizzare questo flag facoltativo per impostare le proprietà dei componenti 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: facoltativamente, puoi specificare la
proprietà
dataproc:hudi.version. Nota: la versione del componente Hudi è impostata da Managed Service for Apache Spark in modo che sia compatibile con la versione dell'immagine del cluster Managed Service for Apache Spark. Se imposti questa proprietà, la creazione del cluster potrebbe non riuscire se la versione specificata non è compatibile con l'immagine del cluster. - Proprietà Spark e Hive: Managed Service for Apache Spark imposta le proprietà Spark e Hive relative a Hudi quando viene creato il 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 nell'ambito 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 Managed Service for Apache Spark.
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
La CLI Hudi si trova in /usr/lib/hudi/cli/hudi-cli.sh sul nodo master del cluster Managed Service for Apache Spark. Puoi utilizzare l'interfaccia a riga di comando di 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 l'interfaccia a riga di comando di Hudi e connetterti a una tabella Hudi:
- Accedi al nodo master tramite SSH.
- 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.