Connecteur Hive-BigQuery

L'Open Source Connecteur Hive-BigQuery permet à Apache Hive charges de travail lisent et écrivent des données depuis et vers BigQuery, tables BigLake. Vous pouvez stocker des données dans l'espace de stockage BigQuery ou dans des formats de données Open Source sur Cloud Storage.

Le connecteur Hive-BigQuery implémente le API Hive Storage Handler pour permettre l'intégration des charges de travail Hive à BigQuery et BigLake. tableaux. Le moteur d'exécution Hive gère les opérations de calcul, telles que les agrégations et les jointures, et le connecteur gère les interactions avec les données stockées dans BigQuery ou dans des buckets Cloud Storage connectés à BigLake.

Le diagramme suivant illustre l'emplacement du connecteur Hive-BigQuery entre les couches de calcul et de données.

Architecture du connecteur Hive-BigQuery

Cas d'utilisation

Voici comment le connecteur Hive-BigQuery peut vous aider scénarios courants basés sur les données:

  • Migration des données Vous prévoyez de migrer votre entrepôt de données Hive vers BigQuery, puis de traduire progressivement vos requêtes Hive en dialecte SQL BigQuery. Vous prévoyez que la migration prendra un certain temps en raison de la taille de votre entrepôt de données et du grand nombre d'applications connectées. Vous devez également assurer la continuité pendant les opérations de migration. Voici le workflow :

    1. Vous déplacez vos données vers BigQuery.
    2. À l'aide du connecteur, vous accédez à vos requêtes Hive d'origine et les exécutez tout en les traduisant progressivement en dialecte SQL BigQuery conforme à la norme ANSI.
    3. Une fois la migration et la traduction terminées, vous retirez Hive.
  • Workflows Hive et BigQuery. Vous prévoyez d'utiliser Hive pour certaines tâches et BigQuery pour les charges de travail qui bénéficient de ses fonctionnalités, telles que BigQuery BI Engine ou BigQuery ML. Vous utilisez le connecteur pour joindre des tables Hive à vos tables BigQuery.

  • Recours à une pile logicielle Open Source (OSS). Pour éviter l'enfermement par le fournisseur, vous utilisez une pile OSS complète pour votre entrepôt de données. Voici votre forfait de données :

    1. Vous migrez vos données dans leur format OSS d'origine, tel qu'Avro, Parquet ou ORC, vers des buckets Cloud Storage à l'aide d'une connexion BigLake.

    2. Vous continuez à utiliser Hive pour exécuter et traiter vos requêtes en dialecte SQL Hive.

    3. Vous utilisez le connecteur selon les besoins pour vous connecter à BigQuery afin de bénéficier des fonctionnalités suivantes:

Fonctionnalités

Vous pouvez utiliser le connecteur Hive-BigQuery pour travailler avec vos BigQuery et effectuer les tâches suivantes:

  • Exécuter des requêtes avec les moteurs d'exécution MapReduce et Tez
  • Créez et supprimez des tables BigQuery à partir de Hive.
  • Associez des tables BigQuery et BigLake à des tables Hive.
  • Effectuez des lectures rapides à partir de tables BigQuery à l'aide du les flux de l'API Storage Read, Format Apache Arrow
  • Écrivez des données dans BigQuery à l'aide des méthodes suivantes :
    • Les écritures directes à l'aide de BigQuery API Storage Write en mode en attente. Utilisez pour les charges de travail nécessitant une faible latence en écriture des tableaux de bord avec de courtes périodes d'actualisation.
    • Écritures indirectes en mettant en scène des fichiers Avro temporaires dans Cloud Storage, puis en les chargeant dans une table de destination à l'aide de l'API Load Job. Cette méthode est moins coûteuse que la méthode directe, car BigQuery charge les tâches n'entraînent pas de frais. Comme cette méthode est plus lente et qu'elle trouve sa meilleure utilisation dans des charges de travail qui ne sont pas urgentes
  • Accéder à BigQuery partitionnée par date et les tables en cluster. L'exemple suivant définit la relation entre une table Hive et une table. qui sont partitionnées et mises en cluster dans 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'
    );
  • éliminez les colonnes pour éviter de récupérer des colonnes inutiles dans la couche de données.

  • Utiliser des pushdown de prédicat pour préfiltrer les lignes de données dans l'espace de stockage BigQuery couche de données. Cette technique peut considérablement améliorer les performances globales des requêtes en réduisant la quantité de données traversant le réseau.

  • Convertissez automatiquement les types de données Hive en types de données BigQuery.

  • Consultez les vues et les instantanés de table BigQuery.

  • Intégrer à Spark SQL

  • Intégrer Apache Pig et HCatalog

Commencer

Consultez les instructions pour installer et configurer le connecteur Hive-BigQuery sur un cluster Hive.