O componente Apache Hudi permite executar o Hudi no Serviço Gerenciado para Apache Spark. Quando você instala o componente durante a criação do cluster usando o recurso Componentes opcionais, ele implanta bibliotecas do Hudi e configura o Spark e o Hive no cluster para trabalhar com o Hudi.
Versões de imagem compatíveis do Serviço Gerenciado para Apache Spark
É possível instalar o componente Hudi em clusters do Serviço Gerenciado para Apache Spark criados com as seguintes versões de imagem do Serviço Gerenciado para Apache Spark:
Propriedades relacionadas ao Hudi
Quando você cria um cluster do Serviço Gerenciado para Apache Spark com o Hudi, as seguintes propriedades do Spark e do Hive são configuradas para funcionar com o Hudi.
| Arquivo de configuração | Propriedade | Valor padrão |
|---|---|---|
/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 o componente
Instale o componente Hudi ao criar um cluster do Serviço Gerenciado para Apache Spark.
As páginas de versão de lançamento da imagem do Serviço Gerenciado para Apache Spark listam a versão do componente Hudi incluída em cada versão de lançamento da imagem do Serviço Gerenciado para Apache Spark.
Console doGoogle Cloud
- No console do Google Cloud , abra a página Criar cluster.
- Clique em Configuração adicional para abrir a seção.
- Edite os Componentes opcionais.
- No painel que será aberto, marque a caixa de seleção de Hudi.
- Clique em Salvar.
CLI da gcloud
Para criar um cluster do Serviço Gerenciado para Apache Spark que inclua o componente Hudi, use o comando com a flag --optional-components.
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --optional-components=HUDI \ --image-version=DATAPROC_VERSION \ --properties=PROPERTIES
Substitua:
- CLUSTER_NAME: obrigatório. O novo nome do cluster.
- REGION: obrigatório. A região do cluster.
- DATAPROC_IMAGE: opcional. Use essa flag opcional para especificar uma versão de imagem do Serviço Gerenciado para Apache Spark que não seja padrão (consulte Versão de imagem padrão do Serviço Gerenciado para Apache Spark).
- PROPERTIES: opcional. Use essa sinalização opcional para
definir as propriedades do componente Hudi,
que são especificadas com o
prefixo de arquivo
hudi:. Exemplo:properties=hudi:hoodie.datasource.write.table.type=COPY_ON_WRITE).- Propriedade da versão do componente Hudi: é possível especificar a
propriedade
dataproc:hudi.version. Observação: a versão do componente do Hudi é definida pelo Serviço Gerenciado para Apache Spark para ser compatível com a versão da imagem do cluster do Serviço Gerenciado para Apache Spark. Se você definir essa propriedade, a criação do cluster poderá falhar se a versão especificada não for compatível com a imagem do cluster. - Propriedades do Spark e do Hive: o Serviço Gerenciado para Apache Spark define propriedades do Spark e do Hive relacionadas ao Hudi quando o cluster é criado. Não é necessário defini-los ao criar o cluster ou enviar jobs.
- Propriedade da versão do componente Hudi: é possível especificar a
propriedade
API REST
O componente Hudi
pode ser instalado pela API Dataproc usando
SoftwareConfig.Component
como parte de uma solicitação
clusters.create.
Enviar um job para ler e gravar tabelas do Hudi
Depois de criar um cluster com o componente Hudi, envie jobs do Spark e do Hive que leem e gravam tabelas do Hudi.
Exemplo de gcloud CLI:
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ --region=region \ JOB_FILE \ -- JOB_ARGS
Exemplo de job do PySpark
O arquivo PySpark a seguir cria, lê e grava uma tabela do Hudi.
O comando da CLI gcloud a seguir envia o arquivo de amostra do PySpark para o Serviço Gerenciado 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
Usar a CLI do Hudi
A CLI do Hudi está localizada em /usr/lib/hudi/cli/hudi-cli.sh no nó mestre do cluster do Serviço Gerenciado para Apache Spark. É possível usar a CLI do Hudi
para visualizar esquemas, confirmações e estatísticas de tabelas do Hudi e realizar manualmente
operações administrativas, como programar compactações (consulte
Como usar o hudi-cli).
Para iniciar a CLI do Hudi e se conectar a uma tabela do Hudi:
- Conecte-se por SSH ao nó mestre.
- Execute
/usr/lib/hudi/cli/hudi-cli.sh. O prompt de comando muda parahudi->. - Execute
connect --path gs://my-bucket/my-hudi-table. - Execute comandos, como
desc, que descreve o esquema da tabela, oucommits show, que mostra o histórico de commits. - Para interromper a sessão da CLI, execute
exit.
A seguir
- Consulte o guia de início rápido do Hudi.