Puedes instalar componentes adicionales, como Hudi, cuando creas un clúster de Dataproc con la función de componentes opcionales. En esta página, se describe cómo instalar opcionalmente el componente Hudi en un clúster de Dataproc.
Cuando se instala en un clúster de Dataproc, el componente Apache Hudi instala las bibliotecas de Hudi y configura Spark y Hive en el clúster para que funcionen con Hudi.
Versiones de imágenes de Dataproc compatibles
Puedes instalar el componente de Hudi en clústeres de Dataproc creados con las siguientes versiones de imágenes de Dataproc:
Propiedades relacionadas con Hudi
Cuando creas un clúster de Dataproc con Hudi, las siguientes propiedades de Spark y Hive se configuran para que funcionen con Hudi.
Archivo de configuración | Propiedad | Valor predeterminado |
---|---|---|
/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 |
Instala el componente
Instala el componente de Hudi cuando crees un clúster de Dataproc.
En las páginas de versiones de imágenes de Dataproc, se indica la versión del componente de Hudi incluida en cada versión de imagen de Dataproc.
Console
- Habilita el componente.
- En la Google Cloud consola, abre la página Crear un clúster de Dataproc. Se selecciona el panel Configura el clúster.
- En la sección Componentes, sigue estos pasos:
- En Componentes opcionales, selecciona el componente Hudi.
Comando de gcloud
Para crear un clúster de Dataproc que incluya el componente Hudi, usa el comando con la marca --optional-components
.
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --optional-components=HUDI \ --image-version=DATAPROC_VERSION \ --properties=PROPERTIES
Reemplaza lo siguiente:
- CLUSTER_NAME: Obligatorio. Es el nombre del clúster nuevo.
- REGION: Obligatorio. Es la región del clúster.
- DATAPROC_IMAGE: Opcional Puedes usar esta marca opcional para especificar una versión de imagen de Dataproc no predeterminada (consulta Versión de imagen de Dataproc predeterminada).
- PROPERTIES: Opcional Puedes usar esta marca opcional para
establecer propiedades del componente de Hudi,
que se especifican con el
prefijo de archivo
hudi:
(por ejemplo,properties=hudi:hoodie.datasource.write.table.type=COPY_ON_WRITE
).- Propiedad de la versión del componente de Hudi: De manera opcional, puedes especificar la propiedad
dataproc:hudi.version
. Nota: Dataproc establece la versión del componente de Hudi para que sea compatible con la versión de la imagen del clúster de Dataproc. Si configuras esta propiedad, es posible que falle la creación del clúster si la versión especificada no es compatible con la imagen del clúster. - Propiedades de Spark y Hive: Dataproc establece propiedades relacionadas con Hudi de Spark y Hive cuando se crea el clúster. No es necesario que los configures cuando crees el clúster o envíes trabajos.
- Propiedad de la versión del componente de Hudi: De manera opcional, puedes especificar la propiedad
API de REST
El componente de Hudi se puede instalar a través de la API de Dataproc con SoftwareConfig.Component
como parte de una solicitud clusters.create
.
Envía un trabajo para leer y escribir tablas de Hudi
Después de crear un clúster con el componente Hudi, puedes enviar trabajos de Spark y Hive que lean y escriban tablas de Hudi.
Ejemplo de gcloud CLI
:
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ --region=region \ JOB_FILE \ -- JOB_ARGS
Ejemplo de trabajo de PySpark
El siguiente archivo de PySpark crea, lee y escribe una tabla de Hudi.
El siguiente comando de gcloud CLI envía el archivo de PySpark de muestra a Dataproc.
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ gs://BUCKET_NAME/pyspark_hudi_example.py \ -- TABLE_NAME gs://BUCKET_NAME/TABLE_NAME
Usa la CLI de Hudi
La CLI de Hudi se encuentra en /usr/lib/hudi/cli/hudi-cli.sh
en el nodo instancia principal del clúster de Dataproc. Puedes usar la CLI de Hudi para ver los esquemas, las confirmaciones y las estadísticas de las tablas de Hudi, y para realizar manualmente operaciones administrativas, como programar compactaciones (consulta Cómo usar hudi-cli).
Para iniciar la CLI de Hudi y conectarte a una tabla de Hudi, haz lo siguiente:
- Establece una conexión SSH al nodo principal.
- Ejecuta
/usr/lib/hudi/cli/hudi-cli.sh
. El símbolo del sistema cambia ahudi->
. - Ejecuta
connect --path gs://my-bucket/my-hudi-table
. - Ejecuta comandos, como
desc
, que describe el esquema de la tabla, ocommits show
, que muestra el historial de confirmaciones. - Para detener la sesión de la CLI, ejecuta
exit
.
¿Qué sigue?
- Consulta la guía de inicio rápido de Hudi.