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
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.
Ative as APIs Data Lineage e Dataplex.
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:
-
Acesse a linhagem de dados no Dataplex ou use a API Data Lineage:
Visualizador de linhagem de dados (
roles/datalineage.viewer
) -
Produza a linhagem de dados manualmente usando a API:
Produtor de eventos da linhagem de dados (
roles/datalineage.producer
) -
Edite a linhagem de dados usando a API:
Editor da linhagem de dados (
roles/datalineage.editor
) -
Realizar todas as operações na linhagem de dados:
Administrador da linhagem de dados (
roles/datalineage.admin
)
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:
- Crie um cluster do Dataproc com a linhagem de dados do Hive ativada e o conector Hive-BigQuery instalado no cluster.
- Execute uma consulta do Hive no cluster para copiar dados entre as tabelas do Hive.
- 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:
- 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
: essas ações de instalação, localizadas no Cloud Storage, instalam o conector Hive-BigQuery e ativam a linhagem de dados do Hive.- HIVE_BQ_VERSION: especifica a versão do conector Hive-BigQuery.
A flag
--metadata
transmite a versão à ação de inicializaçãoconnectors.sh
para instalar o conector Hive-BigQuery no cluster.
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 degs://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
paraus_states_copy
.
Para executar a consulta, faça o seguinte:
- Em uma janela de terminal local ou no Cloud Shell,
use um editor de texto, como
vi
ounano
, para copiar a próxima instrução de consulta do Hive em um arquivohive-example.sql
e salve o arquivo no diretório atual. - 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 arquivohive-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:
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
- Saiba mais sobre a linhagem de dados.