Sie können beim Erstellen eines Dataproc zusätzliche Komponenten wie Hudi installieren. mit dem Optionale Komponenten . Auf dieser Seite wird beschrieben, wie Sie optional die Hudi-Komponente installieren können. in einem Dataproc-Cluster.
Bei der Installation in einem Dataproc-Cluster Apache Hudi Komponente installiert Hudi-Bibliotheken und konfiguriert Spark und Hive im Cluster mit Hudi zu arbeiten.
Kompatible Dataproc-Image-Versionen
Sie können die Hudi-Komponente auf Dataproc-Clustern installieren, die mit der folgende Dataproc-Image-Versionen:
Hudi-bezogene Properties
Wenn Sie einen Dataproc mit Hudi-Cluster erstellen, werden sind so konfiguriert, dass sie mit Hudi funktionieren.
Konfigurationsdatei | Attribut | Standardwert |
---|---|---|
/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 |
Komponente installieren
Hudi-Komponente installieren, wenn ein Dataproc-Cluster erstellt wird
Release-Seiten von Dataproc-Images die Hudi-Komponentenversion auflisten, die in jedem Dataproc-Image-Release enthalten ist.
Console
- Aktivieren Sie die Komponente.
- Öffnen Sie Dataproc in der Google Cloud Console. Cluster erstellen Seite. Der Bereich Cluster einrichten ist ausgewählt.
- Im Bereich Komponenten:
- Wählen Sie unter Optionale Komponenten die Hudi-Komponente.
gcloud-Befehl
So erstellen Sie einen Dataproc-Cluster, der die Hudi-Komponente enthält:
Verwenden Sie den Befehl mit dem Flag --optional-components
.
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --optional-components=HUDI \ --image-version=DATAPROC_VERSION \ --properties=PROPERTIES
Ersetzen Sie Folgendes:
- CLUSTER_NAME: erforderlich. Der neue Clustername.
- REGION: erforderlich. Die Clusterregion.
- DATAPROC_IMAGE: Optional. Sie können dieses optionale Flag verwenden, eine nicht standardmäßige Dataproc-Image-Version angeben (siehe Standardmäßige Dataproc-Image-Version).
- PROPERTIES: Optional. Sie können dieses optionale Flag verwenden,
Hudi-Komponenteneigenschaften festlegen
die mit den Tags
hudi:
-Dateipräfix Beispiel:properties=hudi:hoodie.datasource.write.table.type=COPY_ON_WRITE
).- Eigenschaft der Hudi-Komponentenversion: Sie können optional die
Property „
dataproc:hudi.version
“. Hinweis:Die Version der Hudi-Komponente wird durch Dataproc muss mit der Image-Version des Dataproc-Clusters kompatibel sein. Wenn legen Sie diese Eigenschaft fest, kann die Clustererstellung fehlschlagen, wenn die angegebene Version nicht kompatibel mit dem Cluster-Image. - Spark- und Hive-Attribute: Dataproc-Sets Hudi-Spark und Hive Eigenschaften zu erstellen. Sie müssen sie nicht festlegen wenn Sie den Cluster erstellen oder Jobs senden.
- Eigenschaft der Hudi-Komponentenversion: Sie können optional die
Property „
REST API
Die Hudi-Komponente
können über die Dataproc API mit
SoftwareConfig.Component
als Teil einer
clusters.create
Job zum Lesen und Schreiben von Hudi-Tabellen senden
Nachdem Sie einen Cluster mit der Hudi-Komponente erstellt haben, gehen Sie so vor: können Sie Spark- und Hive-Jobs senden, die Hudi-Tabellen lesen und schreiben.
Beispiel für gcloud CLI
:
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ --region=region \ JOB_FILE \ -- JOB_ARGS
PySpark-Beispieljob
Mit der folgenden PySpark-Datei wird eine Hudi-Tabelle erstellt, gelesen und geschrieben.
Der folgende gcloud CLI-Befehl sendet die PySpark-Beispieldatei zu Dataproc.
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ gs://BUCKET_NAME/pyspark_hudi_example.py \ -- TABLE_NAME gs://BUCKET_NAME/TABLE_NAME
Hudi CLI verwenden
Die Hudi-Befehlszeile befindet sich unter /usr/lib/hudi/cli/hudi-cli.sh
auf der
Masterknoten des Dataproc-Clusters. Sie können die Hudi CLI verwenden
Hudi-Tabellenschemas, Commits und Statistiken ansehen und
Verwaltungsvorgänge wie Zeitplanverdichtungen (siehe
hudi-cli verwenden.
So starten Sie die Hudi-Befehlszeile und stellen eine Verbindung zu einer Hudi-Tabelle her:
- Stellen Sie eine SSH-Verbindung zum Master-Knoten her.
- Führen Sie
/usr/lib/hudi/cli/hudi-cli.sh
aus. Die Eingabeaufforderung ändert sich inhudi->
. - Führen Sie
connect --path gs://my-bucket/my-hudi-table
aus. - Führen Sie Befehle wie
desc
aus, das das Tabellenschema beschreibt, odercommits show
, der den Commit-Verlauf anzeigt. - Führen Sie
exit
aus, um die Befehlszeilensitzung zu beenden.