Puedes instalar componentes adicionales, como Hudi, al crear un clúster de Dataproc mediante la función Componentes opcionales. En esta página se describe cómo puedes instalar el componente Hudi en un clúster de Dataproc (opcional).
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 imagen de Dataproc compatibles
Puedes instalar el componente Hudi en clústeres de Dataproc creados con las siguientes versiones de imagen de Dataproc:
Propiedades relacionadas con Hudi
Cuando creas un clúster de Dataproc con Hudi, se configuran las siguientes propiedades de Spark y Hive 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 |
Instalar el componente
Instala el componente Hudi al crear un clúster de Dataproc.
En las páginas de versiones de Dataproc se indica la versión del componente Hudi incluida en cada versión de Dataproc.
Consola
- Habilita el componente.
- En la consola de Google Cloud , abre la página de Dataproc Crear un clúster. El panel Configurar clúster está seleccionado.
- En la sección Componentes, haz lo siguiente:
- En Componentes opcionales, selecciona el componente Hudi.
Comando 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
Haz los cambios siguientes:
- CLUSTER_NAME: obligatorio. El nuevo nombre del clúster.
- REGION: obligatorio. La región del clúster.
- DATAPROC_IMAGE: opcional. Puedes usar esta marca opcional para especificar una versión de imagen de Dataproc que no sea la predeterminada (consulta Versión de imagen de Dataproc predeterminada).
- PROPERTIES: opcional. Puedes usar esta marca opcional para
definir las propiedades de los componentes 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 Hudi: puede especificar la propiedad
dataproc:hudi.version
. Nota: Dataproc define la versión del componente Hudi para que sea compatible con la versión de la imagen del clúster de Dataproc. Si define esta propiedad, es posible que no se pueda crear el clúster si la versión especificada no es compatible con la imagen del clúster. - Propiedades de Spark y Hive: Dataproc define las propiedades de Spark y Hive relacionadas con Hudi cuando se crea el clúster. No es necesario definirlos al crear el clúster o enviar trabajos.
- Propiedad de la versión del componente Hudi: puede especificar la propiedad
API REST
El componente Hudi se puede instalar a través de la API de Dataproc mediante
SoftwareConfig.Component
como parte de una solicitud
clusters.create
.
Enviar un trabajo para leer y escribir tablas Hudi
Después de crear un clúster con el componente Hudi, puedes enviar tareas de Spark y Hive que lean y escriban tablas Hudi.
Ejemplo de gcloud CLI
:
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ --region=region \ JOB_FILE \ -- JOB_ARGS
Tarea de PySpark de ejemplo
El siguiente archivo de PySpark crea, lee y escribe una tabla Hudi.
El siguiente comando de gcloud CLI envía el archivo PySpark de ejemplo a Dataproc.
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ gs://BUCKET_NAME/pyspark_hudi_example.py \ -- TABLE_NAME gs://BUCKET_NAME/TABLE_NAME
Usar la CLI de Hudi
La CLI de Hudi se encuentra en /usr/lib/hudi/cli/hudi-cli.sh
en el nodo maestro 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, así como para realizar manualmente operaciones administrativas, como programar compactaciones (consulta Usar hudi-cli).
Para iniciar la CLI de Hudi y conectarte a una tabla de Hudi, haz lo siguiente:
- Accede al nodo maestro mediante SSH.
- 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
.
Siguientes pasos
- Consulta la guía de inicio rápido de Hudi.