Ativar a linhagem de dados do Hive no Dataproc

Este documento mostra como ativar e usar a linhagem de dados para jobs do Dataproc Hive.

Ative a linhagem de dados para jobs do Dataproc Hive usando uma ação de inicialização ao criar um cluster.

Quando você ativa a linhagem de dados do Hive em um cluster, os jobs do Hive que você envia para o cluster capturam eventos de linhagem de dados e os publica no Dataplex.

Visualizar informações de linhagem

Um gráfico de linhagem de dados mostra as relações entre os recursos do projeto e os processos que os criaram. É possível acessar os gráficos de linhagem usando o Dataplex, o BigQuery Studio e a Vertex AI no console do Google Cloud.

Preços

A linhagem de dados do Dataproc Hive é oferecida durante a pré-visualização sem custo extra. Os preços padrão do Dataproc são aplicáveis.

Antes de começar

  1. No console do Google Cloud, na página do seletor de projetos, selecione o projeto que contém o cluster do Dataproc para o qual você quer rastrear a linhagem.

    Acessar o seletor de projetos

  2. Ative as APIs Data Lineage e Dataplex.

    Ativar as APIs

Funções exigidas

Para receber as permissões necessárias para usar a linhagem de dados no Dataproc, peça ao administrador para conceder a você os seguintes papéis do IAM na conta de serviço da VM do cluster do Dataproc:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Ativar a linhagem de dados do Hive

Para ativar a linhagem de dados do Hive em um cluster, especifique a ação de inicialização hive-lineage.sh ao criar um cluster do Dataproc. Essa ação de inicialização é armazenada em buckets regionais no Cloud Storage.

Exemplo de criação de cluster da gcloud CLI:

gcloud dataproc clusters create CLUSTER_NAME \
    --project PROJECT_ID \
    --region REGION \
    --image-version IMAGE_VERSION \
    --initialization-actions gs://goog-dataproc-initialization-actions-REGION/hive-lineage/hive-lineage.sh

Substitua:

  • CLUSTER_NAME: o nome do cluster.
  • PROJECT_ID: o ID do projeto do Google Cloud . Os IDs dos projetos estão listados na seção Informações do projeto no Painel do console do Google Cloud.
  • REGION: a região do Compute Engine em que o cluster será localizado.
  • IMAGE_VERSION A versão da imagem pretendida para o cluster.
  • --initialization-actions: especifica uma ação de instalação localizada em um local regional do Cloud Storage que ativa a linhagem de dados do Hive.
    • Adicione a ação de inicialização do conector Hive-BigQuery, se quiser. Se você quiser integrar tabelas do BigQuery com cargas de trabalho do Hive, instale o conector Hive-BigQuery no cluster. Consulte o Exemplo de linhagem de dados do Hive com o BigQuery, que executa uma ação de inicialização do conector para instalar o conector Hive-BigQuery no cluster.

Enviar um job do Hive

Quando você envia um job do Hive para um cluster do Dataproc criado com a linhagem de dados do Hive ativada, o Dataproc captura e informa as informações de linhagem de dados para o Dataplex.

Exemplo de envio de job da API Hive da gcloud CLI:

gcloud dataproc jobs submit hive \
    --cluster=CLUSTER_NAME \
    --project PROJECT_ID \
    --region REGION \
    --properties=hive.openlineage.namespace=CUSTOM_NAMESPACE \
    --execute HIVE_QUERY

Substitua:

  • CLUSTER_NAME: o nome do cluster.
  • PROJECT_ID: o ID do projeto do Google Cloud . Os IDs dos projetos estão listados na seção Informações do projeto no painel do console do Google Cloud.
  • REGION: a região do Compute Engine em que o cluster está localizado.
  • CUSTOM_NAMESPACE: um namespace personalizado opcional do Hive que pode ser especificado para identificar o job do Hive.
  • HIVE_QUERY: a consulta do Hive a ser enviada ao cluster. Em vez de especificar uma consulta, substitua a flag --execute HIVE_QUERY por uma flag --file SQL_FILE para especificar o local de um arquivo que contém a consulta.

Visualizar a linhagem no Dataplex

Um gráfico de linhagem mostra as relações entre os recursos do projeto e os processos que os criaram. É possível acessar as informações de linhagem de dados no console do Google Cloud ou extraí-las da API Data Lineage na forma de dados JSON.

Exemplo de linhagem de dados do Hive com o BigQuery

O exemplo desta seção consiste nas seguintes etapas:

  1. Crie um cluster do Dataproc com a linhagem de dados do Hive ativada e o conector Hive-BigQuery instalado no cluster.
  2. Execute uma consulta do Hive no cluster para copiar dados entre as tabelas do Hive.
  3. Confira o gráfico de linhagem de dados gerado no BigQuery Studio.

Criar um cluster do Dataproc

Execute o comando a seguir em uma janela de terminal local ou no Cloud Shell para criar um cluster do Dataproc.

gcloud dataproc clusters create CLUSTER_NAME \
    --project PROJECT_ID \
    --region REGION \
    --image-version IMAGE_VERSION \
    --initialization-actions gs://goog-dataproc-initialization-actions-REGION/connectors/connectors.sh, gs://goog-dataproc-initialization-actions-REGION/hive-lineage/hive-lineage.sh \
    --metadata hive-bigquery-connector-version=HIVE_BQ_VERSION

Observações:

Executar uma consulta do Hive

Execute uma consulta do Hive para realizar as seguintes ações:

  • Crie uma tabela externa us_states com entrada de dados de amostra de gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout.
  • Crie uma tabela gerenciada us_states_copy no conjunto de dados especificado do BigQuery.
  • Copie todos os dados de us_states para us_states_copy.

Para executar a consulta, faça o seguinte:

  1. Em uma janela de terminal local ou no Cloud Shell, use um editor de texto, como vi ou nano, para copiar a próxima instrução de consulta do Hive em um arquivo hive-example.sql e salve o arquivo no diretório atual.
  2. Envie o arquivo hive-example.sql para o cluster do Dataproc criado anteriormente substituindo a flag --execute HIVE_QUERY por uma --file SQL_FILE para especificar o local do arquivo hive-example.sql salvo. As variáveis PROJECT e BQ_DATASET precisam ser preenchidas.

Hive BigQueryStorageHandler

CREATE EXTERNAL TABLE us_states (
    name STRING,
    post_abbr STRING
)
STORED AS PARQUET
LOCATION 'gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout';

CREATE TABLE us_states_copy (
    name STRING,
    post_abbr STRING
)
STORED BY 'com.google.cloud.hive.bigquery.connector.BigQueryStorageHandler'
TBLPROPERTIES (
  'bq.table'='PROJECT.BQ_DATASET.us_states_copy'
);

INSERT INTO us_states_copy SELECT * FROM us_states;

Conferir o gráfico de linhagem de dados

Depois que o job do Hive for concluído, acesse a linhagem de dados no BigQuery Studio no console do Google Cloud:

Gráfico de linhagem do Hive

Para saber como mostrar gráficos no BigQuery Studio, consulte Conferir a linhagem no BigQuery. Para informações sobre como entender gráficos, consulte Modelo de informações de linhagem de dados.

A seguir