Habilita el linaje de datos de Hive en Dataproc

En este documento, se muestra cómo habilitar y usar el linaje de datos para los trabajos de Hive de Dataproc.

Habilitas el linaje de datos para los trabajos de Hive de Dataproc con una acción de inicialización cuando creas un clúster.

Cuando habilitas el linaje de datos de Hive en un clúster, los trabajos de Hive que envías al clúster capturan eventos de linaje de datos y los publican en Dataplex Universal Catalog.

Visualiza la información del linaje

Un gráfico de linaje de datos muestra las relaciones entre los recursos de tu proyecto y los procesos que los crearon. Puedes acceder a los gráficos de linaje con Dataplex Universal Catalog, BigQuery Studio y Vertex AI en la Google Cloud consola.

Precios

El linaje de datos de Hive de Dataproc se ofrece durante la versión preliminar sin cargo adicional. Se aplican los precios estándar de Dataproc.

Antes de comenzar

  1. En la Google Cloud consola de Google Cloud, en la página del selector de proyectos, selecciona el proyecto que contiene el clúster de Dataproc para el que deseas realizar un seguimiento del linaje.

    Ir al selector de proyectos

  2. Habilita la API de Data Lineage y la API de Dataplex.

    Habilitar las API

Roles obligatorios

Para obtener los permisos que necesitas para usar el linaje de datos en Dataproc, pídele a tu administrador que te otorgue los siguientes roles de IAM en la cuenta de servicio de VM del clúster de Dataproc:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Habilita el linaje de datos de Hive

Para habilitar el linaje de datos de Hive en un clúster, especifica la hive-lineage.sh acción de inicialización cuando crees un clúster de Dataproc. Esta acción de inicialización se almacena en buckets regionales en Cloud Storage.

Ejemplo de creación de clúster de 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

Reemplaza lo siguiente:

Envía un trabajo de Hive

Cuando envías un trabajo de Hive a un clúster de Dataproc que se creó con el linaje de datos de Hive habilitado, Dataproc captura y envía la información del linaje de datos a Dataplex Universal Catalog.

Ejemplo de envío de trabajos de Hive de gcloud CLI:

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

Reemplaza lo siguiente:

Consulta el linaje en Dataplex Universal Catalog

Un gráfico de linaje muestra las relaciones entre los recursos de tu proyecto y los procesos que los crearon. Puedes ver la información del linaje de datos en la Google Cloud consola de Google Cloud, o recuperarla de la API de Data Lineage en forma de datos JSON.

Ejemplo de linaje de datos de Hive con BigQuery

El ejemplo de esta sección consta de los siguientes pasos:

  1. Crea un clúster de Dataproc que tenga habilitado el linaje de datos de Hive y el conector de Hive-BigQuery instalado en el clúster.
  2. Ejecuta una consulta de Hive en el clúster para copiar datos entre las tablas de Hive.
  3. Visualiza el gráfico de linaje de datos generado en BigQuery Studio.

Crea un clúster de Dataproc

Ejecuta el siguiente comando en una ventana de la terminal local o en Cloud Shell para crear un clúster de 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:

Ejecuta una consulta de Hive

Ejecuta una consulta de Hive para realizar las siguientes acciones:

  • Crea una tabla externa us_states con datos de muestra de gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout.
  • Crea una tabla administrada us_states_copy en el conjunto de datos de BigQuery especificado.
  • Copia todos los datos de us_states a us_states_copy.

Para ejecutar la consulta, haz lo siguiente:

  1. En una ventana de la terminal local o en Cloud Shell, usa un editor de texto, como vi o nano, para copiar la siguiente instrucción de consulta de Hive en un archivo hive-example.sql y, luego, guarda el archivo en el directorio actual.
  2. Envía el archivo hive-example.sql al clúper de Dataproc creado anteriormente y reemplaza la marca --execute HIVE_QUERY por una marca --file SQL_FILE para especificar la ubicación del archivo hive-example.sql guardado. Ten en cuenta que las PROJECT y BQ_DATASET variables deben propagarse.

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;

Visualiza el gráfico de linaje de datos

Una vez que el trabajo de Hive finalice correctamente, visualiza el linaje de datos en BigQuery Studio en la Google Cloud consola de Google Cloud:

Gráfico de linaje de Hive

Para obtener información sobre cómo mostrar gráficos en BigQuery Studio, consulta Visualiza el linaje en BigQuery. Para obtener información sobre cómo comprender los gráficos, consulta Modelo de información del linaje de datos.

¿Qué sigue?