Open Source Hive-BigQuery-Connector kann Ihr Apache Hive Arbeitslasten lesen und schreiben Daten aus und in BigQuery und BigLake-Tabellen. Sie können Daten in oder in Open-Source-Datenformaten auf Cloud Storage
Der Hive-BigQuery-Connector implementiert die Hive Storage Handler API, um Hive-Arbeitslasten in BigQuery- und BigLake-Tabellen einzubinden. Die Hive-Ausführungs-Engine bewältigt Rechenvorgänge wie Daten aggregiert und zusammengeführt. Der Connector verwaltet Interaktionen mit Daten, die in BigQuery oder über BigLake-verbundenen Cloud Storage-Buckets.
Das folgende Diagramm veranschaulicht, wie der Hive-BigQuery-Connector zwischen der Compute- und der Datenebene passt.
Anwendungsfälle
Der Hive-BigQuery-Connector kann Sie Gängige datengesteuerte Szenarien:
Datenmigration Sie planen, Ihr Hive-Data Warehouse zu BigQuery zu verlagern, und übersetzen Ihre Hive-Abfragen dann schrittweise in den BigQuery-SQL-Dialekt. Sie gehen davon aus, dass die Migration aufgrund der Größe Ihres Data Warehouse und der großen Anzahl verbundener Anwendungen viel Zeit in Anspruch nehmen wird. Außerdem müssen Sie für eine kontinuierliche Verfügbarkeit während der Migration sorgen. Hier ist die Workflow:
- Sie verschieben Ihre Daten in BigQuery.
- Mit dem Connector können Sie auf Ihre ursprünglichen Hive-Abfragen zugreifen und sie ausführen, während die Hive-Abfragen nach und nach in BigQuery ANSI-konformer SQL-Dialekt.
- Nach Abschluss der Migration und Übersetzung stellen Sie Hive ein.
Hive- und BigQuery-Workflows Sie möchten die Hive für einige Aufgaben und BigQuery für vorteilhafte Arbeitslasten Funktionen wie BigQuery BI Engine oder BigQuery ML: Sie verwenden den Connector, um Hive-Tabellen mit Ihren BigQuery-Tabellen zu verknüpfen.
Abhängigkeit von einem Open-Source-Software-Stack (OSS). Um Anbieterabhängigkeit zu vermeiden, verwenden Sie einen vollständigen OSS-Stack für Ihr Data Warehouse. Hier ist Ihr Datentarif:
Sie migrieren Ihre Daten im ursprünglichen OSS-Format wie Avro, Parquet oder ORC, zu Cloud Storage-Buckets über eine BigLake-Verbindung.
Sie verwenden Hive weiterhin zum Ausführen und Verarbeiten Ihrer Hive SQL-Dialektabfragen.
Sie können den Connector nach Bedarf verwenden, um eine Verbindung zu BigQuery herzustellen und von den folgenden Funktionen zu profitieren:
- Metadaten-Caching für die Abfrageleistung
- Schutz vor Datenverlust
- Zugriffssteuerung auf Spaltenebene
- Dynamische Datenmaskierung für mehr Sicherheit und Governance im großen Maßstab.
Features
Sie können den Hive-BigQuery-Connector für die Arbeit mit BigQuery-Daten und führen Sie die folgenden Aufgaben aus:
- Abfragen mit MapReduce- und Tez-Ausführungsmodulen ausführen
- BigQuery-Tabellen in Hive erstellen und löschen
- BigQuery- und BigLake-Tabellen mit Hive-Tabellen zusammenführen
- Schnelles Lesen aus BigQuery-Tabellen mithilfe der Streams der Storage Read API und des Apache Arrow-Formats
- Schreiben Sie Daten in BigQuery mit folgendem Befehl:
Methoden:
- Direkte Schreibvorgänge mit der BigQuery Storage Write API im ausstehenden Modus Verwenden Sie diese Methode für Arbeitslasten mit niedriger Schreiblatenz, z. B. Dashboards in nahezu Echtzeit mit kurzen Aktualisierungsfenstern.
- Indirekte Schreibvorgänge durch Staging temporärer Avro-Dateien in Cloud Storage und dann Laden der Dateien mithilfe der Load Job API in eine Zieltabelle Diese Methode ist kostengünstiger als die direkte Methode, da BigQuery geladen wird Für Jobs fallen keine Kosten an. Da diese Methode langsamer ist, eignet sie sich am besten für Arbeitslasten, die nicht zeitkritisch sind.
Sie können auf zeitlich partitionierte und geclusterte BigQuery-Tabellen zugreifen. Im folgenden Beispiel wird die Beziehung zwischen einer Hive-Tabelle und einer Tabelle definiert, die in BigQuery partitioniert und geclustert ist.
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' );
Sie können Spalten entfernen, um zu verhindern, dass unnötige Spalten aus der Datenschicht abgerufen werden.
Prädikat-Push-downs zum Vorfiltern von Datenzeilen im BigQuery-Speicher verwenden Ebene. Mit dieser Methode lässt sich die Abfrageleistung insgesamt erheblich verbessern, da die Menge der Daten, die das Netzwerk durchlaufen, reduziert wird.
Hive-Datentypen automatisch in BigQuery-Datentypen konvertieren
Einbindung in Spark SQL
Integration in Apache Pig und HCatalog
Mehr erfahren
Anleitung zum Installieren und Konfigurieren des Hive-BigQuery-Connectors in einem Hive-Cluster