Ativar a linhagem de dados do Hive

Este documento mostra como ativar e usar a linhagem de dados para jobs do Hive do Serviço Gerenciado para Apache Spark.

Você ativa a linhagem de dados para jobs do Hive do Serviço Gerenciado para Apache Spark 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 ao cluster capturam eventos de linhagem de dados e os publicam no Knowledge Catalog.

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 gráficos de linhagem usando o Knowledge Catalog, o BigQuery Studio e a Vertex AI no Google Cloud console.

Preços

A linhagem de dados do Hive do Serviço Gerenciado para Apache Spark é oferecida durante a prévia sem custo adicional. Os preços padrão do Serviço Gerenciado para Apache Spark são aplicados.

Antes de começar

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

    Acessar o seletor de projetos

  2. Ative a API Data Lineage e a API Dataplex.

    Ativar as APIs

Funções exigidas

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

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 usando personalizados papéis ou outros predefinidos papéis.

Ativar a linhagem de dados do Hive

Para ativar a linhagem de dados do Hive em um cluster, especifique a hive-lineage.sh ação de inicialização quando você criar um cluster do Serviço Gerenciado para Apache Spark. Essa ação de inicialização é armazenada em buckets 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:

  • CLUSTER_NAME: o nome do cluster.
  • PROJECT_ID: o ID do projeto do Google Cloud . Os IDs do projeto estão listados na seção Informações do projeto no painel do console Dashboard. Google Cloud
  • REGION: a região do Compute Engine em que o cluster está localizado.
  • IMAGE_VERSION A versão de 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.
    • Opcionalmente, adicione a ação de inicialização do conector Hive-BigQuery. 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

Ao enviar um job do Hive para um cluster do Serviço Gerenciado para Apache Spark criado com a linhagem de dados do Hive ativada, o Serviço Gerenciado para Apache Spark captura e informa as informações de linhagem de dados ao Knowledge Catalog.

Exemplo de envio de job 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:

  • CLUSTER_NAME: o nome do cluster.
  • PROJECT_ID: o ID do projeto do Google Cloud . Os IDs do projeto estão listados na seção Informações do projeto no painel do console Dashboard. Google Cloud
  • REGION: a região do Compute Engine em que o cluster está localizado.
  • CUSTOM_NAMESPACE: um namespace do Hive personalizado opcional 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, você pode substituir a --execute HIVE_QUERY flag por uma --file SQL_FILE flag para especificar o local de um arquivo que contém a consulta.

Ver a linhagem no Knowledge Catalog

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

Exemplo de linhagem de dados do Hive com o BigQuery

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

  1. Crie um cluster do Serviço Gerenciado para Apache Spark que tenha 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 tabelas do Hive.
  3. Visualize o gráfico de linhagem de dados gerado no BigQuery Studio.

Criar um cluster do Serviço Gerenciado para Apache Spark

Execute o seguinte comando em uma janela de terminal local ou no Cloud Shell para criar um cluster do Serviço Gerenciado para Apache Spark.

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 do BigQuery especificado.
  • 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 instrução de consulta do Hive a seguir 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 Serviço Gerenciado para Apache Spark criado anteriormente, substituindo a flag --execute HIVE_QUERY por uma flag --file SQL_FILE para especificar o local do arquivo hive-example.sql salvo. Observe que 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;

Visualizar o gráfico de linhagem de dados

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

Gráfico de linhagem do Hive

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

A seguir