É possível instalar outros componentes, como o Hudi, ao criar um cluster do Serviço Gerenciado para Apache Spark usando o recurso Componentes opcionais. Nesta página, você verá como instalar o componente Hudi em um cluster do Serviço gerenciado para Apache Spark.
Quando instalado em um cluster do Serviço Gerenciado para Apache Spark, o componente Apache Hudi instala 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
Ao criar um cluster do Serviço Gerenciado para Apache Spark com 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
- Ativar o componente.
- No console Google Cloud , abra a página Criar um cluster do Serviço Gerenciado para Apache Spark. O painel Configurar cluster está selecionado.
- Na seção Componentes:
- Em Componentes opcionais, selecione o componente Hudi.
Comando 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 nome do novo cluster.
- REGION: obrigatório. A região do cluster.
- DATAPROC_IMAGE: opcional. Você pode usar esta flag opcional para especificar uma versão de imagem do Serviço Gerenciado para Apache Spark que não seja a padrão. Consulte Versão de imagem padrão do Serviço Gerenciado para Apache Spark.
- PROPERTIES: opcional. Use essa flag opcional para
definir propriedades do componente Hudi,
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 Hudi é definida pelo Serviço Gerenciado para Apache Spark para ser compatível com a versão de 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 relacionadas ao Hudi no Spark e no Hive quando o cluster é criado. Não é necessário defini-las 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 Managed Service for Apache Spark 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, é possível enviar 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 exemplo 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 ver esquemas, commits e estatísticas de tabelas do Hudi e realizar manualmente operações administrativas, como compactações de programação. Consulte Usar hudi-cli.
Para iniciar a CLI do Hudi e se conectar a uma tabela do Hudi:
- Faça SSH no nó principal.
- 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 confirmações. - Para interromper a sessão da CLI, execute
exit.
A seguir
- Consulte o guia de início rápido do Hudi.