É possível instalar outros componentes, como o Hudi, ao criar um cluster do Dataproc usando o recurso Componentes opcionais. Nesta página, descrevemos como instalar o componente Hudi em um cluster do Dataproc.
Quando instalado em um cluster do Dataproc, o componente Apache Hudi instala as bibliotecas do Hudi e configura o Spark e o Hive no cluster para trabalhar com o Hudi.
Versões de imagem compatíveis do Dataproc
É possível instalar o componente Hudi em clusters do Dataproc criados com as seguintes versões de imagem do Dataproc:
Propriedades relacionadas ao Hudi
Quando você cria um cluster do Dataproc 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 Dataproc.
As páginas de versão da versão da imagem do Dataproc listam a versão do componente Hudi incluída em cada versão da imagem do Dataproc.
Console
- Ativar o componente.
- No console do Google Cloud, abra a página Criar um cluster do Dataproc. O painel Configurar cluster está selecionado.
- Na seçã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:
- CLUSTER_NAME: obrigatório. O nome do novo cluster.
- REGION: obrigatório. A região do cluster.
- DATAPROC_IMAGE: opcional. É possível usar essa flag opcional para especificar uma versão de imagem do Dataproc que não seja padrão. Consulte Versão de imagem padrão do Dataproc.
- PROPERTIES: opcional. É possível usar essa flag opcional para
definir as propriedades do componente Hudi,
que são especificadas com o
hudi:
prefixo de arquivo (exemplo:properties=hudi:hoodie.datasource.write.table.type=COPY_ON_WRITE
).- Propriedade de versão do componente Hudi: é possível especificar a
propriedade
dataproc:hudi.version
. Observação:a versão do componente Hudi é definida pelo Dataproc para ser compatível com a versão da imagem do cluster do Dataproc. 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 Dataproc define as propriedades do Spark e do Hive relacionadas ao Hudi quando o cluster é criado. Não é necessário defini-las ao criar o cluster ou enviar jobs.
- Propriedade de 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
clusters.create
solicitação.
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 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
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 Dataproc. É possível usar a CLI do Hudi
para conferir 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:
- SSH no 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 confirmação. - Para interromper a sessão da CLI, execute
exit
.