Pode instalar componentes adicionais, como o Hudi, quando cria um cluster do Dataproc através da funcionalidade Componentes opcionais. Esta página descreve como pode instalar opcionalmente o componente Hudi num cluster do Dataproc.
Quando instalado num cluster do Dataproc, o componente Apache Hudi instala bibliotecas do Hudi e configura o Spark e o Hive no cluster para funcionar com o Hudi.
Versões de imagens do Dataproc compatíveis
Pode instalar o componente Hudi em clusters do Dataproc criados com as seguintes versões de imagens do Dataproc:
Propriedades relacionadas com o Hudi
Quando cria um cluster do Dataproc com Hudi, as seguintes propriedades do Spark e do Hive são configuradas para funcionar com o Hudi.
Ficheiro de configuração | Propriedade | Valor predefinido |
---|---|---|
/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 |
Instale o componente
Instale o componente Hudi quando criar um cluster do Dataproc.
As páginas da versão de lançamento de imagens do Dataproc indicam a versão do componente Hudi incluída em cada lançamento de imagens do Dataproc.
Consola
- Ative o componente.
- Na Google Cloud consola, abra a página do Dataproc Criar um cluster. O painel Configurar cluster está selecionado.
- Na secção Componentes:
- Em Componentes opcionais, selecione o componente Hudi.
comando gcloud
Para criar um cluster do Dataproc 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 o seguinte:
- CLUSTER_NAME: obrigatório. O nome do novo cluster.
- REGION: obrigatório. A região do cluster.
- DATAPROC_IMAGE: opcional. Pode usar este sinalizador opcional para especificar uma versão da imagem do Dataproc não predefinida (consulte Versão da imagem do Dataproc predefinida).
- PROPERTIES: opcional. Pode usar esta flag opcional para
definir propriedades de componentes Hudi,
que são especificadas com o
hudi:
prefixo do ficheiro Exemplo:properties=hudi:hoodie.datasource.write.table.type=COPY_ON_WRITE
).- Propriedade da versão do componente Hudi: opcionalmente, pode especificar a propriedade
dataproc:hudi.version
. Nota: a versão do componente Hudi é definida pelo Dataproc para ser compatível com a versão da imagem do cluster do Dataproc. Se definir esta propriedade, a criação do cluster pode falhar se a versão especificada não for compatível com a imagem do cluster. - Propriedades do Spark e do Hive: o Dataproc define as propriedades do Spark e do Hive relacionadas com o Hudi quando o cluster é criado. Não precisa de as definir quando cria o cluster ou envia tarefas.
- Propriedade da versão do componente Hudi: opcionalmente, pode especificar a propriedade
API REST
O componente Hudi pode ser instalado através da API Dataproc com
SoftwareConfig.Component
como parte de um pedido
clusters.create
.
Envie um trabalho para ler e escrever tabelas Hudi
Depois de criar um cluster com o componente Hudi, pode enviar tarefas do Spark e do Hive que leiam e escrevam tabelas Hudi.
gcloud CLI
exemplo:
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ --region=region \ JOB_FILE \ -- JOB_ARGS
Exemplo de tarefa PySpark
O seguinte ficheiro PySpark cria, lê e escreve uma tabela Hudi.
O seguinte comando da CLI gcloud envia o ficheiro PySpark de exemplo para o Dataproc.
gcloud dataproc jobs submit pyspark \ --cluster=CLUSTER_NAME \ gs://BUCKET_NAME/pyspark_hudi_example.py \ -- TABLE_NAME gs://BUCKET_NAME/TABLE_NAME
Use a CLI Hudi
A CLI do Hudi está localizada em /usr/lib/hudi/cli/hudi-cli.sh
no nó principal do cluster do Dataproc. Pode usar a CLI do Hudi para ver esquemas, commits e estatísticas de tabelas Hudi, bem como para realizar manualmente operações administrativas, como agendar compactações (consulte Usar hudi-cli).
Para iniciar a CLI Hudi e estabelecer ligação a uma tabela Hudi:
- SSH para o nó principal.
- Corrida
/usr/lib/hudi/cli/hudi-cli.sh
. O comando muda parahudi->
. - Corrida
connect --path gs://my-bucket/my-hudi-table
. - Executar comandos, como
desc
, que descreve o esquema da tabela, oucommits show
, que mostra o histórico de commits. - Para parar a sessão da CLI, execute
exit
.
O que se segue?
- Consulte o guia de início rápido do Hudi.