Connettore Hive-BigQuery

Il connettore Hive-BigQuery open source consente ai carichi di lavoro Apache Hive di leggere e scrivere dati da e verso le tabelle BigQuery e BigLake. Puoi archiviare i dati nello spazio di archiviazione di BigQuery o in formati di dati open source su Cloud Storage.

Il connettore Hive-BigQuery implementa l'API Hive Storage Handler per consentire l'integrazione dei carichi di lavoro Hive con le tabelle BigQuery e BigLake. Il motore di esecuzione Hive gestisce le operazioni di calcolo, come aggregazioni e unioni, mentre il connettore gestisce le interazioni con i dati archiviati in BigQuery o nei bucket Cloud Storage connessi a BigLake.

Il seguente diagramma illustra come il connettore Hive-BigQuery si posiziona tra i livelli di calcolo e quelli di dati.

Architettura del connettore Hive-BigQuery

Casi d'uso

Ecco alcuni modi in cui il connettore Hive-BigQuery può esserti di aiuto in scenari comuni basati sui dati:

  • Migrazione dei dati. Prevedi di spostare il data warehouse Hive in BigQuery e poi di tradurre in modo incrementale le query Hive nel dialetto SQL di BigQuery. Prevedi che la migrazione richieda molto tempo a causa delle dimensioni del data warehouse e dell'elevato numero di applicazioni connesse, inoltre è necessario garantire la continuità durante le operazioni di migrazione. Ecco il flusso di lavoro:

    1. Sposta i tuoi dati in BigQuery
    2. Utilizzando il connettore, puoi accedere alle query Hive originali ed eseguirle mentre traduci gradualmente le query Hive in un dialetto SQL compatibile con ANSI di BigQuery.
    3. Dopo aver completato la migrazione e la traduzione, ritiri Hive.
  • Flussi di lavoro Hive e BigQuery. Prevedi di utilizzare Hive per alcune attività e BigQuery per carichi di lavoro che traggono vantaggio dalle sue funzionalità, come BigQuery BI Engine o BigQuery ML. Puoi utilizzare il connettore per unire le tabelle Hive alle tabelle BigQuery.

  • Affidati a uno stack software open source (OSS). Per evitare vincoli al fornitore, utilizzi uno stack OSS completo per il tuo data warehouse. Ecco il tuo piano dati:

    1. Esegui la migrazione dei dati nel formato OSS originale, ad esempio Avro, Parquet o ORC, nei bucket Cloud Storage utilizzando una connessione BigLake.

    2. Continuerai a utilizzare Hive per eseguire ed elaborare le query in dialetto SQL di Hive.

    3. Puoi utilizzare il connettore in base alle esigenze per collegarti a BigQuery e usufruire delle seguenti funzionalità:

Funzionalità

Puoi utilizzare il connettore Hive-BigQuery per lavorare con i tuoi dati di BigQuery ed eseguire le seguenti attività:

  • Eseguire query con i motori di esecuzione MapReduce e Tez.
  • Crea ed elimina le tabelle BigQuery da Hive.
  • Unisci tabelle BigQuery e BigLake con tabelle Hive.
  • Esegui letture rapide dalle tabelle BigQuery utilizzando i flussi dell'API Storage Read e il formato Freccia Apache
  • Scrivi dati in BigQuery utilizzando i seguenti metodi:
    • Operazioni di scrittura dirette tramite l'API Storage Write in modalità in attesa di BigQuery. Utilizza questo metodo per carichi di lavoro che richiedono una bassa latenza di scrittura, come dashboard quasi in tempo reale con finestre di aggiornamento brevi.
    • Scritture indirette mediante la gestione temporanea dei file Avro temporanei in Cloud Storage, quindi il caricamento dei file in una tabella di destinazione utilizzando l'API Load Job. Questo metodo è meno costoso del metodo diretto, poiché i job di caricamento di BigQuery non accumulano costi. Poiché questo metodo è più lento e si presta in modo ideale all'uso in carichi di lavoro
  • Accedi alle tabelle partizionate nel tempo e in cluster di BigQuery. L'esempio seguente definisce la relazione tra una tabella Hive e una tabella partizionata e in cluster in BigQuery.

    CREATE TABLE my_hive_table (int_val BIGINT, text STRING, ts TIMESTAMP)
    STORED BY 'com.google.cloud.hive.bigquery.connector.BigQueryStorageHandler'
    TBLPROPERTIES (
    'bq.table'='myproject.mydataset.mytable',
    'bq.time.partition.field'='ts',
    'bq.time.partition.type'='MONTH',
    'bq.clustered.fields'='int_val,text'
    );
    
  • Elimina le colonne per evitare di recuperare colonne non necessarie dal livello dati.

  • Utilizza le push-down predicato per prefiltrare le righe di dati a livello di archiviazione BigQuery. Questa tecnica può migliorare notevolmente le prestazioni complessive delle query riducendo la quantità di dati che attraversano la rete.

  • Converti automaticamente i tipi di dati Hive in tipi di dati BigQuery.

  • Leggi le viste e gli snapshot delle tabelle BigQuery.

  • Eseguire l'integrazione con Spark SQL.

  • Esegui l'integrazione con Apache Pig e HCatalog.

Inizia

Consulta le istruzioni per installare e configurare il connettore Hive-BigQuery in un cluster Hive.