Este documento mostra como ativar e usar a linhagem de dados para tarefas do Dataproc Hive.
Ativa a linhagem de dados para tarefas do Hive do Dataproc através de uma ação de inicialização quando cria um cluster.
Quando ativa a linhagem de dados do Hive num cluster, as tarefas do Hive que envia para o cluster capturam eventos de linhagem de dados e publicam-nos no catálogo universal do Dataplex.
Visualize informações de linhagem
Um gráfico de linhagem de dados apresenta as relações entre os recursos do seu projeto e os processos que os criaram. Pode aceder a gráficos de linhagem através do Dataplex Universal Catalog, BigQuery Studio e Vertex AI na Google Cloud consola.
Preços
A linhagem de dados do Dataproc Hive é oferecida durante a pré-visualização sem custos adicionais. Aplicam-se os preços do Dataproc padrão.
Antes de começar
Na Google Cloud consola, na página do seletor de projetos, selecione o projeto que contém o cluster do Dataproc para o qual quer acompanhar a linhagem.
Ative a API Data Lineage e a API Dataplex.
Funções necessárias
Para obter as autorizações de que precisa para usar a linhagem de dados no Dataproc, peça ao seu administrador que lhe conceda as seguintes funções do IAM na conta de serviço da VM do cluster do Dataproc:
-
Veja a linhagem de dados no catálogo universal do Dataplex ou use a API Data Lineage:
Visualizador de linhagem de dados (
roles/datalineage.viewer
) -
Produza a linhagem de dados manualmente através da API:
Data Lineage Events Producer (
roles/datalineage.producer
) -
Edite a linhagem de dados através da API:
Editor de 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 atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Ative a linhagem de dados do Hive
Para ativar a linhagem de dados do Hive num cluster, especifique a hive-lineage.sh
ação de inicialização quando criar um cluster do Dataproc.
Esta ação de inicialização é armazenada em contentores regionais no Cloud Storage.
Exemplo de criação de cluster da CLI gcloud:
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 o seguinte:
- CLUSTER_NAME: o nome do cluster.
- PROJECT_ID: o ID do seu Google Cloud projeto. Os IDs dos projetos estão listados na secção Informações do projeto no Google Cloud painel de controloda consola.
- REGION: A região do Compute Engine onde localizar o cluster.
- IMAGE_VERSION A versão da imagem pretendida para o conjunto.
--initialization-actions
: especifica uma ação de instalação localizada numa localização regional do Cloud Storage que ativa a linhagem de dados do Hive.- Opcionalmente, adicione a ação de inicialização do conetor Hive-BigQuery. Se quiser integrar tabelas do BigQuery com cargas de trabalho do Hive, tem de instalar 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 conetor para instalar o conetor Hive-BigQuery no cluster.
Envie uma tarefa Hive
Quando envia uma tarefa do Hive para um cluster do Dataproc criado com a linhagem de dados do Hive ativada, o Dataproc captura e comunica as informações de linhagem de dados ao catálogo universal do Dataplex.
Exemplo de envio de tarefas do Hive da CLI gcloud:
gcloud dataproc jobs submit hive \
--cluster=CLUSTER_NAME \
--project PROJECT_ID \
--region REGION \
--properties=hive.openlineage.namespace=CUSTOM_NAMESPACE \
--execute HIVE_QUERY
Substitua o seguinte:
- CLUSTER_NAME: o nome do cluster.
- PROJECT_ID: o ID do seu Google Cloud projeto. Os IDs dos projetos estão listados na secção Informações do projeto no Google Cloud painel de controloda consola.
- REGION: A região do Compute Engine onde o cluster está localizado.
- CUSTOM_NAMESPACE: Um espaço de nomes do Hive personalizado opcional que pode especificar para identificar a tarefa do Hive.
- HIVE_QUERY: a consulta Hive a enviar para o cluster.
Em vez de especificar uma consulta, pode substituir a flag
--execute HIVE_QUERY
por uma flag--file SQL_FILE
para especificar a localização de um ficheiro que contém a consulta.
Veja a linhagem no catálogo universal do Dataplex
Um gráfico de linhagem apresenta as relações entre os recursos do seu projeto e os processos que os criaram. Pode ver informações de linhagem de dados na Google Cloud consola ou obtê-las a partir da API Data Lineage sob a forma de dados JSON.
Exemplo de linhagem de dados do Hive com o BigQuery
O exemplo nesta secção consiste nos seguintes passos:
- Crie um cluster do Dataproc com a linhagem de dados do Hive ativada e o conetor Hive-BigQuery instalado no cluster.
- Execute uma consulta Hive no cluster para copiar dados entre tabelas Hive.
- Veja o gráfico de linhagem de dados gerado no BigQuery Studio.
Crie um cluster do Dataproc
Execute o seguinte comando numa 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
Notas:
- CLUSTER_NAME: o nome do cluster.
- PROJECT_ID: o ID do seu Google Cloud projeto. Os IDs dos projetos estão listados na secção Informações do projeto no Google Cloud painel de controloda consola.
- REGION: A região do Compute Engine onde localizar o cluster.
- IMAGE_VERSION A versão da imagem pretendida para o conjunto.
--initialization-actions
: Estas ações de instalação, localizadas no Cloud Storage, instalam o conetor Hive-BigQuery e ativam a linhagem de dados do Hive.- HIVE_BQ_VERSION: Especifica a
versão do conetor Hive-BigQuery.
A flag
--metadata
passa a versão para a ação de inicializaçãoconnectors.sh
para instalar o conetor Hive-BigQuery no cluster.
Execute uma consulta Hive
Execute uma consulta Hive para realizar as seguintes ações:
- Crie uma
us_states
tabela externa com dados de amostra introduzidos a partir degs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout
. - Crie uma tabela gerida
us_states_copy
no conjunto de dados do BigQuery especificado. - Copie todos os dados de
us_states
paraus_states_copy
.
Para executar a consulta:
- Numa janela de terminal local ou no Cloud Shell,
use um editor de texto, como o
vi
ou onano
, para copiar a seguinte declaração de consulta do Hive para um ficheirohive-example.sql
e, de seguida, guarde o ficheiro no diretório atual. - Envie o ficheiro
hive-example.sql
para o cluster do Dataproc criado anteriormente, substituindo a flag--execute HIVE_QUERY
pela flag--file SQL_FILE
para especificar a localização do ficheirohive-example.sql
guardado. Tenha em atenção que as variáveis PROJECT e BQ_DATASET têm de 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;
Veja o gráfico de linhagem de dados
Depois de a tarefa do Hive terminar com êxito, veja a linhagem de dados no BigQuery Studio na Google Cloud consola:
Para ver informações sobre a apresentação de gráficos no BigQuery Studio, consulte o artigo Veja a linhagem no BigQuery. Para obter informações sobre a compreensão dos gráficos, consulte o artigo Modelo de informações de linhagem de dados.
O que se segue?
- Saiba mais sobre a linhagem de dados.