Vous pouvez installer des composants supplémentaires comme Hudi lorsque vous créez une instance Dataproc. à l'aide de la commande Composants facultatifs . Cette page explique comment installer le composant Hudi (facultatif) sur un cluster Dataproc.
Lorsqu'il est installé sur un cluster Dataproc, Apache Hudi installe les bibliothèques Hudi, et configure Spark et Hive dans le cluster pour travailler avec Hudi.
Versions d'images Dataproc compatibles
Vous pouvez installer le composant Hudi sur les clusters Dataproc créés avec la versions d'image Dataproc suivantes:
Établissements liés au hudi
Lorsque vous créez un cluster Dataproc avec un cluster Hudi, les composants Spark et Hive suivants 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.
Pages des versions d'image Dataproc Listez les versions des composants Hudi incluses dans chaque version d'image Dataproc.
Console
- Activez le composant.
- Dans la console Google Cloud, ouvrez Dataproc Créer un cluster . Le panneau Configurer le cluster est sélectionné.
- Dans la section Composants :
- Sous Composants facultatifs, sélectionnez Composant Hudi.
Commande gcloud
Pour créer un cluster Dataproc incluant le composant Hudi,
exécutez 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. Nouveau nom du cluster.
- REGION : valeur obligatoire. La région du cluster.
- DATAPROC_IMAGE : facultatif. Vous pouvez utiliser cet indicateur facultatif pour spécifiez une version d'image Dataproc autre que celle par défaut (consultez Version par défaut de l'image Dataproc).
- PROPERTIES : facultatif. Vous pouvez utiliser cet indicateur facultatif pour
définir les propriétés du composant Hadoop ;
spécifiés avec le paramètre
Préfixe de fichier
hudi:
Exemple:properties=hudi:hoodie.datasource.write.table.type=COPY_ON_WRITE
).- Propriété de version du composant Hudi: vous pouvez éventuellement spécifier le
Propriété
dataproc:hudi.version
. Remarque:La version du composant Hudi est définie par Dataproc pour être compatible avec la version de l'image de 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: ensembles Dataproc Spark et Hive liés à Huudi lors de la création du cluster. Il n'est pas nécessaire de les configurer lors de la création du cluster ou de l'envoi de tâches.
- Propriété de version du composant Hudi: vous pouvez éventuellement spécifier le
Propriété
API REST
Composant Hudi
peuvent être installées via l'API Dataproc en utilisant
SoftwareConfig.Component
dans le cadre d'un
clusters.create
requête.
Envoyer un job pour lire et écrire des tables Hudi
Après avoir créé un cluster avec le composant Hudi, vous pouvez soumettre des jobs Spark et Hive qui lisent et écrivent des tables Hudi.
Exemple pour gcloud CLI
:
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ --region=region \ JOB_FILE \ -- JOB_ARGS
Exemple de job 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 à l'adresse /usr/lib/hudi/cli/hudi-cli.sh
sur le
Nœud maître de cluster Dataproc. Vous pouvez utiliser la CLI Hudi
pour afficher les schémas, les commits et les statistiques de la table Hudi, et pour effectuer manuellement
les opérations administratives, telles que les compactages de planification (voir
Avec 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 passe àhudi->
. - 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 CLI, exécutez
exit
.