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 le stockage BigQuery ou dans des formats de données Open Source Cloud Storage.

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

Le schéma suivant montre comment le connecteur Hive-BigQuery entre les couches de calcul et de données.

Architecture de 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 vous attendez à ce que la migration prenne un certain temps en raison de la taille de votre entrepôt de données et du grand nombre d'applications connectées, et dont vous avez besoin pour assurer la continuité de vos opérations de migration. Voici les workflow:

    1. Vous transférez vos données vers BigQuery
    2. À l'aide du connecteur, vous accédez à vos requêtes Hive d'origine et les exécutez vous traduisez progressivement les requêtes Hive en BigQuery Dialecte SQL 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 en bénéficient. de ses fonctionnalités, telles que BigQuery BI Engine, BigQuery ML : Vous utilisez pour joindre des tables Hive à vos tables BigQuery.

  • Utilisation d'une pile de logiciels Open Source (OSS) Pour éviter la dépendance à un 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 vos besoins pour vous connecter à BigQuery et profiter 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éer et supprimer des tables BigQuery dans Hive
  • Joindre 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 éléments suivants : méthodes:
    • Les écritures directes à l'aide de BigQuery API Storage Write en mode en attente. Utilisez cette méthode pour les charges de travail qui nécessitent une faible latence d'écriture, telles que les tableaux de bord en quasi-temps réel avec des périodes d'actualisation courtes.
    • É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édez aux tables BigQuery partitionnées par date et en cluster. L'exemple suivant définit la relation entre une table Hive et une table partitionnée et groupée 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.

  • Utilisez des pushdowns de prédicat pour préfiltrer les lignes de données au niveau de la couche de stockage BigQuery. Cette technique permet d'améliorer considérablement les performances globales des requêtes ce qui réduit la quantité de données traversant le réseau.

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

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

  • Intégrez-le à Spark SQL.

  • Intégrer Apache Pig et HCatalog

Commencer

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