Puedes instalar componentes adicionales, como Hudi, cuando creas un clúster de Managed Service para Apache Spark 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 Managed Service para Apache Spark.
Cuando se instala en un clúster de Managed Service para Apache Spark, el componente Apache Hudi instala bibliotecas de Hudi y configura Spark y Hive en el clúster para que funcionen con Hudi.
Versiones de imagen compatibles de Managed Service para Apache Spark
Puedes instalar el componente Hudi en clústeres de Managed Service para Apache Spark creados con las siguientes versiones de imagen de Managed Service para Apache Spark:
Propiedades relacionadas con Hudi
Cuando creas un clúster de Managed Service para Apache Spark 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 Hudi cuando crees un clúster de Managed Service para Apache Spark.
En las páginas de la versión de lanzamiento de la imagen de Managed Service para Apache Spark se muestra la versión del componente Hudi incluida en cada lanzamiento de imagen de Managed Service para Apache Spark.
Console
- Habilita el componente.
- En la Google Cloud consola, abre la página Crear un clúster de Managed Service para Apache Spark. Se selecciona el panel Configurar clúster.
- En la sección Componentes , sigue estos pasos:
- En Componentes opcionales, selecciona el el componente Hudi.
Comando de gcloud
Para crear un clúster de Managed Service para Apache Spark 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. El nombre del clúster nuevo.
- REGION: Obligatorio. La región del clúster.
- DATAPROC_IMAGE: Opcional. Puedes usar esta marca opcional para especificar una versión de imagen de Managed Service para Apache Spark que no sea la predeterminada (consulta Versión de imagen predeterminada de Managed Service para Apache Spark).
- PROPERTIES: Opcional. Puedes usar esta marca opcional para
establecer las propiedades del componente Hudi,
que se especifican con el
hudi:prefijo de archivo Ejemplo:properties=hudi:hoodie.datasource.write.table.type=COPY_ON_WRITE).- Propiedad de la versión del componente Hudi: De manera opcional, puedes especificar la
dataproc:hudi.versionpropiedad. Nota: Managed Service para Apache Spark establece la versión del componente Hudi para que sea compatible con la versión de imagen del clúster de Managed Service para Apache Spark. Si estableces esta propiedad, la creación del clúster puede fallar si la versión especificada no es compatible con la imagen del clúster. - Propiedades de Spark y Hive: Managed Service para Apache Spark establece las propiedades de Spark y Hive relacionadas con Hudi cuando se crea el clúster. No es necesario configurarlas cuando creas el clúster o envías trabajos.
- Propiedad de la versión del componente Hudi: De manera opcional, puedes especificar la
API de REST
El componente Hudi
se puede instalar a través de la API de Managed Service para Apache Spark con
SoftwareConfig.Component
como parte de una
clusters.create
solicitud.
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 Managed Service para Apache Spark.
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 la instancia principal del clúster de Managed Service para Apache Spark. Puedes usar la CLI de Hudi
para ver esquemas, confirmaciones y estadísticas de tablas de Hudi, y para realizar operaciones administrativas de forma manual,
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.