Abilita la derivazione dei dati Hive

Questo documento mostra come abilitare e utilizzare la derivazione dei dati per i job Hive di Managed Service for Apache Spark.

Abiliti la tracciabilità dei dati per i job Hive di Managed Service for Apache Spark utilizzando un'azione di inizializzazione quando crei un cluster.

Quando abiliti la tracciabilità dei dati Hive su un cluster, i job Hive che invii al cluster acquisiscono gli eventi di tracciabilità dei dati e li pubblicano in Knowledge Catalog.

Visualizzare le informazioni sulla derivazione

Un grafico di derivazione dei dati mostra le relazioni tra le risorse del progetto e i processi che le hanno create. Puoi accedere ai grafici di derivazione utilizzando Knowledge Catalog, BigQuery Studio e Vertex AI nella Google Cloud console.

Prezzi

La derivazione dei dati Hive di Managed Service for Apache Spark viene offerta durante l'anteprima senza costi aggiuntivi. Si applicano i prezzi standard di Managed Service for Apache Spark.

Prima di iniziare

  1. Nella Google Cloud console, nella pagina del selettore di progetti, seleziona il progetto che contiene il cluster Managed Service for Apache Spark per il quale vuoi monitorare la tracciabilità.

    Vai al selettore di progetti

  2. Abilita l'API Data Lineage e l'API Dataplex.

    Abilita le API

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per utilizzare la derivazione dei dati in Managed Service for Apache Spark, chiedi all'amministratore di concederti i seguenti ruoli IAM sul service account della VM del cluster Managed Service for Apache Spark:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Abilitare la tracciabilità dei dati Hive

Per abilitare la tracciabilità dei dati Hive su un cluster, specifica l'hive-lineage.sh azione di inizializzazione quando crei un cluster Managed Service for Apache Spark. Questa azione di inizializzazione è archiviata nei bucket regionali in Cloud Storage.

Esempio di creazione di cluster con la 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

Sostituisci quanto segue:

Inviare un job Hive

Quando invii un job Hive a un cluster Managed Service for Apache Spark creato con la tracciabilità dei dati Hive abilitata, Managed Service for Apache Spark acquisisce e segnala le informazioni sulla tracciabilità dei dati a Knowledge Catalog.

Esempio di invio di job Hive con la gcloud CLI:

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

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del cluster.
  • PROJECT_ID: l' Google Cloud ID progetto. Gli ID progetto sono elencati nella sezione Informazioni sul progetto su la Google Cloud console Dashboard.
  • REGION: la regione Compute Engine in cui si trova il cluster.
  • CUSTOM_NAMESPACE: uno spazio dei nomi Hive personalizzato facoltativo che puoi specificare per identificare il job Hive.
  • HIVE_QUERY: la query Hive da inviare al cluster. Anziché specificare una query, puoi sostituire il --execute HIVE_QUERY flag con un --file SQL_FILE flag per specificare la posizione di un file che contiene la query.

Visualizzare la derivazione in Knowledge Catalog

Un grafico di derivazione mostra le relazioni tra le risorse del progetto e i processi che le hanno create. Puoi visualizzare le informazioni sulla derivazione dei dati nella Google Cloud console o recuperarle dall'API Data Lineage sotto forma di dati JSON.

Esempio di derivazione dei dati Hive con BigQuery

L'esempio in questa sezione è composto dai seguenti passaggi:

  1. Crea un cluster Managed Service for Apache Spark con la tracciabilità dei dati Hive abilitata e il connettore Hive-BigQuery installato sul cluster.
  2. Esegui una query Hive sul cluster per copiare i dati tra le tabelle Hive.
  3. Visualizza il grafico di derivazione dei dati generato in BigQuery Studio.

Creare un cluster Managed Service for Apache Spark

Esegui il comando seguente in una finestra del terminale locale o in Cloud Shell per creare un cluster Managed Service for 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

Note:

Eseguire una query Hive

Esegui una query Hive per eseguire le seguenti azioni:

  • Crea una tabella esterna us_states con input di dati di esempio da gs://cloud-samples-data/bigquery/hive-partitioning-samples/autolayout.
  • Crea una tabella gestita us_states_copy nel set di dati BigQuery specificato.
  • Copia tutti i dati da us_states a us_states_copy.

Per eseguire la query:

  1. In una finestra del terminale locale o in Cloud Shell, utilizza un editor di testo, ad esempio vi o nano, per copiare la seguente istruzione della query Hive in un file hive-example.sql, quindi salva il file nella directory corrente.
  2. Invia il file hive-example.sql al cluster Managed Service for Apache Spark creato in precedenza sostituendo il flag --execute HIVE_QUERY con un flag --file SQL_FILE per specificare la posizione del file hive-example.sql salvato. Tieni presente che le variabili PROJECT e BQ_DATASET devono essere compilate.

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;

Visualizzare il grafico di derivazione dei dati

Al termine del job Hive, visualizza la derivazione dei dati in BigQuery Studio nella Google Cloud console:

Grafico di derivazione Hive

Per informazioni sulla visualizzazione dei grafici in BigQuery Studio, consulta Visualizzare la derivazione in BigQuery. Per informazioni sulla comprensione dei grafici, consulta Modello di informazioni sulla derivazione dei dati.

Passaggi successivi