Connettore Hive-BigQuery

L'open source Connettore Hive-BigQuery consente a Apache Hive carichi di lavoro leggono e scrivono dati da e in BigQuery Tabelle BigLake. Puoi archiviare i dati in di archiviazione BigQuery o in formati di dati open source su di archiviazione ideale in Cloud Storage.

Il connettore Hive-BigQuery implementa la classe API Hive Storage Gestori per consentire l'integrazione dei carichi di lavoro Hive con BigQuery e BigLake tabelle. Il motore di esecuzione di Hive gestisce le operazioni di calcolo, come come aggregati e join e il connettore gestisce le interazioni archiviati in BigQuery o in connessioni a BigLake di archiviazione dei bucket Cloud Storage.

Il seguente diagramma illustra come il connettore Hive-BigQuery tra il livello di calcolo e quello dati.

Architettura del connettore Hive-BigQuery

Casi d'uso

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

  • Migrazione dei dati. Prevedi di spostare il data warehouse Hive in BigQuery, e poi tradurre in modo incrementale le query Hive nel dialetto SQL di BigQuery. Prevedi che la migrazione richiederà una quantità di tempo significativa a causa delle dimensioni del tuo data warehouse e delle numerose applicazioni connesse, devi garantire la continuità delle operazioni di migrazione. Ecco il flusso di lavoro personalizzato:

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

  • Fare affidamento su 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 ai bucket Cloud Storage utilizzando una connessione BigLake.

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

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

Funzionalità

Puoi utilizzare il connettore Hive-BigQuery per lavorare con i tuoi BigQuery e svolgi le attività seguenti:

  • Eseguire query con i motori di esecuzione MapReduce e Tez.
  • Creare ed eliminare tabelle BigQuery da Hive.
  • Unisci le tabelle BigQuery e BigLake con le tabelle Hive.
  • Esegui letture rapide dalle tabelle BigQuery utilizzando Flussi di dati dell'API Storage Read e Formato Apache Arrow
  • Scrivi dati in BigQuery utilizzando: metodo:
    • Scritture dirette utilizzando BigQuery API Storage Scrivi in modalità In attesa. Utilizza le funzionalità di questo metodo per i carichi di lavoro che richiedono una bassa latenza di scrittura, come il tempo quasi in tempo reale con brevi finestre temporali di aggiornamento.
    • Scrive indirette con la gestione temporanea dei file Avro temporanei su Cloud Storage Caricare i file in una tabella di destinazione utilizzando l'API Load Job. Questo metodo è meno costoso di quello diretto, poiché BigQuery carica i job non maturano addebiti. Poiché questo metodo è più lento e trova il suo miglior impiego in carichi di lavoro non critici per il tempo
  • Accesso a BigQuery partizionato nel tempo e in cluster. Nell'esempio che segue definisce la relazione tra una tabella Hive e una tabella partizionato 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 i push-down dei predicati per pre-filtrare le righe di dati nello spazio di archiviazione BigQuery livello di sicurezza. Questa tecnica può migliorare significativamente 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 di BigQuery e snapshot delle tabelle.

  • 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 su un cluster Hive.