Questo documento illustra come attivare e utilizzare la consistenza dei dati per i job Hive di Dataproc.
Attiva la consistenza dei dati per i job Hive di Dataproc utilizzando un'azione di inizializzazione quando crei un cluster.
Quando attivi la consistenza dei dati Hive su un cluster, i job Hive che invii al cluster acquisiscono gli eventi di consistenza dei dati e li pubblicano in Dataplex.
Visualizzare le informazioni sulla derivazione
Un grafico della struttura di dati mostra le relazioni tra le risorse del progetto e i processi che le hanno create. Puoi accedere ai grafici di eredità utilizzando Dataplex, BigQuery Studio e Vertex AI nella console Google Cloud.
Prezzi
La consistenza dei dati Hive di Dataproc è offerta durante la fase di anteprima senza costi aggiuntivi. Vengono applicati i prezzi standard di Dataproc.
Prima di iniziare
Nella console Google Cloud, nella pagina di selezione del progetto, seleziona il progetto che contiene il cluster Dataproc per cui vuoi monitorare la sequenza.
Abilita l'API Data Lineage e l'API Dataplex.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per utilizzare la cronologia dei dati in Dataproc, chiedi all'amministratore di concederti i seguenti ruoli IAM nell'account di servizio VM del cluster Dataproc:
-
Visualizza la derivazione dei dati in Dataplex o utilizza l'API Data Lineage:
Data Lineage Viewer (
roles/datalineage.viewer
) -
Crea la genealogia dei dati manualmente utilizzando l'API:
Data Lineage Events Producer (
roles/datalineage.producer
) -
Modifica la struttura dei dati utilizzando l'API:
Data Lineage Editor (
roles/datalineage.editor
) -
Esegui tutte le operazioni sul lineage dei dati:
Data Lineage Administrator (
roles/datalineage.admin
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Abilita la derivazione dei dati Hive
Per attivare la concatenazione dei dati Hive su un cluster, specifica l'hive-lineage.sh
azione di inizializzazione quando
crei un cluster Dataproc.
Questa azione di inizializzazione viene archiviata in bucket regionali in Cloud Storage.
Esempio di creazione di un cluster con 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:
- CLUSTER_NAME: il nome del cluster.
- PROJECT_ID: il tuo Google Cloud ID progetto. Gli ID progetto sono elencati nella sezione Informazioni sul progetto della Dashboard della console Google Cloud.
- REGION: la regione Compute Engine in cui posizionare il cluster.
- IMAGE_VERSION La versione dell'immagine prevista per il cluster.
--initialization-actions
: specifica un'azione di installazione situata in una località regionale di Cloud Storage che attiva la trasparenza della cronologia dei dati di Hive.- Se vuoi, aggiungi l'azione di inizializzazione del connettore Hive-BigQuery. Se vuoi integrare le tabelle BigQuery con i carichi di lavoro Hive, devi installare il connettore Hive-BigQuery sul cluster. Consulta l'esempio di struttura di dati Hive con BigQuery, che esegue un'azione di inizializzazione del connettore per installare il connettore Hive-BigQuery sul cluster.
Invia un job Hive
Quando invii un job Hive a un cluster Dataproc creato con la derivazione dei dati Hive abilitata, Dataproc acquisisce e registra le informazioni sulla derivazione dei dati in Dataplex.
Esempio di invio di un job Hive con l'interfaccia a riga di comando gcloud:
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: il tuo Google Cloud ID progetto. Gli ID progetto sono elencati nella sezione Informazioni sul progetto della dashboard della console Google Cloud.
- REGION: la regione Compute Engine dove 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.
Invece di specificare una query, puoi sostituire il flag
--execute HIVE_QUERY
con un flag--file SQL_FILE
per specificare la posizione di un file che contiene la query.
Visualizza la derivazione in Dataplex
Un grafico di derivazione mostra le relazioni tra le risorse del progetto e i processi che le hanno create. Puoi visualizzare le informazioni sulla struttura dei dati nella console Google Cloud o recuperarle dall'API Data Lineage sotto forma di dati JSON.
Esempio di albero genealogico dei dati Hive con BigQuery
L'esempio in questa sezione prevede i seguenti passaggi:
- Crea un cluster Dataproc in cui è attivato il report sulla provenienza dei dati Hive e il connettore Hive-BigQuery è installato sul cluster.
- Esegui una query Hive sul cluster per copiare i dati tra le tabelle Hive.
- Visualizza il grafico della struttura dei dati generato in BigQuery Studio.
Crea un cluster Dataproc
Esegui il seguente comando in una finestra del terminale locale o in Cloud Shell per creare un cluster 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
Note:
- CLUSTER_NAME: il nome del cluster.
- PROJECT_ID: il tuo Google Cloud ID progetto. Gli ID progetto sono elencati nella sezione Informazioni sul progetto della dashboard della console Google Cloud.
- REGION: la regione Compute Engine in cui posizionare il cluster.
- IMAGE_VERSION La versione dell'immagine prevista per il cluster.
--initialization-actions
: queste azioni di installazione, situate in Cloud Storage, installano il connettore Hive-BigQuery e attivano la trasparenza della cronologia dei dati di Hive.- HIVE_BQ_VERSION: specifica la
versione del connettore Hive-BigQuery.
Il flag
--metadata
passa la versione all'azione di inizializzazioneconnectors.sh
per installare il connettore Hive-BigQuery sul cluster.
Esegui una query Hive
Esegui una query Hive per eseguire le seguenti azioni:
- Crea una tabella esterna
us_states
con dati di esempio inseriti dags://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
aus_states_copy
.
Per eseguire la query:
- In una finestra del terminale locale o in Cloud Shell,
utilizza un editor di testo, ad esempio
vi
onano
, per copiare la seguente dichiarazione di query Hive in un filehive-example.sql
, quindi salva il file nella directory corrente. - Invia il file
hive-example.sql
al cluster Dataproc creato in precedenza sostituendo il--execute HIVE_QUERY
con un--file SQL_FILE
per specificare la posizione delhive-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 della derivazione dei dati
Al termine del job Hive, visualizza la cronologia dei dati in BigQuery Studio nella console Google Cloud:
Per informazioni sulla visualizzazione dei grafici in BigQuery Studio, consulta Visualizzare la cronologia in BigQuery. Per informazioni su come interpretare i grafici, consulta Modello di informazioni sulla cronologia dei dati.
Passaggi successivi
- Scopri di più sulla derivazione dei dati.