Vous pouvez installer des composants supplémentaires comme Hudi lorsque vous créez un cluster Dataproc à l'aide de la fonctionnalité Composants facultatifs. Cette page explique comment installer le composant Hudi sur un cluster Dataproc.
Lorsqu'il est installé sur un cluster Dataproc, le composant Apache Hudi installe les bibliothèques Hudi et configure Spark et Hive dans le cluster pour qu'ils fonctionnent avec Hudi.
Versions d'image Dataproc compatibles
Vous pouvez installer le composant Hudi sur les clusters Dataproc créés avec les versions d'image Dataproc suivantes :
Propriétés liées à Hudi
Lorsque vous créez un cluster Dataproc avec Hudi, les propriétés Spark et Hive suivantes sont configurées pour fonctionner avec Hudi.
| Fichier de configuration | Propriété | Valeur par défaut |
|---|---|---|
/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 |
Installer le composant
Installez le composant Hudi lorsque vous créez un cluster Dataproc.
Les pages de la version de l'image Dataproc listent la version du composant Hudi incluse dans chaque version d'image Dataproc.
Console
- Activez le composant.
- Dans la Google Cloud console, ouvrez la page Dataproc Créer un cluster page. Le panneau Configurer un cluster est sélectionné.
- Dans la section Composants :
- Sous Composants facultatifs, sélectionnez le le composant Hudi.
Commande gcloud
Pour créer un cluster Dataproc incluant le composant Hudi,
utilisez la commande avec l'option --optional-components
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --optional-components=HUDI \ --image-version=DATAPROC_VERSION \ --properties=PROPERTIES
Remplacez les éléments suivants :
- CLUSTER_NAME : valeur obligatoire. Nom du nouveau cluster.
- REGION : valeur obligatoire. La région du cluster.
- DATAPROC_IMAGE : facultatif. Vous pouvez utiliser cette option facultative pour spécifier une version d'image Dataproc non par défaut (consultez Version d'image Dataproc par défaut).
- PROPERTIES : facultatif. Vous pouvez utiliser cette option facultative pour
définir les propriétés du composant Hudi,
qui sont spécifiées avec le
hudi:préfixe de fichier Exemple :properties=hudi:hoodie.datasource.write.table.type=COPY_ON_WRITE).- Propriété de la version du composant Hudi : vous pouvez éventuellement spécifier la
dataproc:hudi.versionpropriété. Remarque : La version du composant Hudi est définie par Dataproc pour être compatible avec la version de l'image du cluster Dataproc. Si vous définissez cette propriété, la création du cluster peut échouer si la version spécifiée n'est pas compatible avec l'image du cluster. - Propriétés Spark et Hive : Dataproc définit les propriétés Spark et Hive liées à Hudi lors de la création du cluster. Vous n'avez pas besoin de les définir lorsque vous créez le cluster ou que vous envoyez des tâches.
- Propriété de la version du composant Hudi : vous pouvez éventuellement spécifier la
API REST
Le composant Hudi
peut être installé via l'API Dataproc à l'aide de
SoftwareConfig.Component
dans le cadre d'une
clusters.create
requête.
Envoyer une tâche pour lire et écrire des tables Hudi
Après avoir créé un cluster avec le composant Hudi, vous pouvez envoyer des tâches Spark et Hive qui lisent et écrivent des tables Hudi.
Exemple gcloud CLI :
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ --region=region \ JOB_FILE \ -- JOB_ARGS
Exemple de tâche PySpark
Le fichier PySpark suivant crée, lit et écrit une table Hudi.
La commande gcloud CLI suivante envoie l'exemple de fichier PySpark à Dataproc.
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ gs://BUCKET_NAME/pyspark_hudi_example.py \ -- TABLE_NAME gs://BUCKET_NAME/TABLE_NAME
Utiliser la CLI Hudi
La CLI Hudi se trouve dans /usr/lib/hudi/cli/hudi-cli.sh sur le
nœud maître du cluster Dataproc. Vous pouvez utiliser la CLI Hudi
pour afficher les schémas, les commits et les statistiques des tables Hudi, et pour effectuer manuellement
des opérations d'administration, telles que la planification de compactages (consultez
Utiliser hudi-cli).
Pour démarrer la CLI Hudi et vous connecter à une table Hudi :
- Connectez-vous en SSH au nœud maître.
- Exécutez
/usr/lib/hudi/cli/hudi-cli.sh. L'invite de commande devienthudi->. - Exécutez
connect --path gs://my-bucket/my-hudi-table. - Exécutez des commandes telles que
desc, qui décrit le schéma de la table, oucommits show, qui affiche l'historique des commits. - Pour arrêter la session de la CLI, exécutez
exit.
Étape suivante
- Consultez le guide de démarrage rapide de Hudi.