El conector de Hive-BigQuery de código abierto permite que tus cargas de trabajo de Apache Hive lean y escriban datos desde y hacia tablas de BigQuery y BigLake. Puedes almacenar datos en el almacenamiento de BigQuery o en formatos de datos de código abierto en Cloud Storage.
El conector de Hive-BigQuery implementa la API de Hive Storage Handler para permitir que las cargas de trabajo de Hive se integren con las tablas de BigQuery y BigLake. El motor de ejecución de Hive controla las operaciones de procesamiento, como las agregaciones y las uniones, y el conector administra las interacciones con los datos almacenados en BigQuery o en los buckets de Cloud Storage conectados a BigLake.
En el siguiente diagrama, se ilustra cómo se ajusta el conector de Hive-BigQuery entre las capas de procesamiento y datos.

Casos de uso
Estas son algunas de las formas en que el conector de Hive-BigQuery puede ayudarte en situaciones comunes basadas en datos:
Migración de datos. Planeas mover tu almacén de datos de Hive a BigQuery, luego, traducir de forma incremental tus consultas de Hive al dialecto de SQL de BigQuery. Esperas que la migración lleve una cantidad significativa de tiempo debido al tamaño de tu almacén de datos y la gran cantidad de aplicaciones conectadas, y debes garantizar la continuidad durante las operaciones de migración. Este es el flujo de trabajo:
- Mueves tus datos a BigQuery.
- Con el conector, accedes a tus consultas originales de Hive y las ejecutas mientras traduces gradualmente las consultas de Hive al dialecto de SQL compatible con ANSI de BigQuery.
- Después de completar la migración y la traducción, retiras Hive.
Flujos de trabajo de Hive y BigQuery. Planeas usar Hive para algunas tareas y BigQuery para cargas de trabajo que se benefician de sus funciones, como BigQuery BI Engine o BigQuery ML. Usas el conector para unir tablas de Hive a tus tablas de BigQuery.
Dependencia de una pila de software de código abierto (OSS). Para evitar el bloqueo del proveedor, usas una pila de OSS completa para tu almacén de datos. Este es tu plan de datos:
Migras tus datos en su formato OSS original, como Avro, Parquet o ORC, a buckets de Cloud Storage con una conexión de BigLake.
Continúas usando Hive para ejecutar y procesar tus consultas de dialecto de SQL de Hive.
Usas el conector según sea necesario para conectarte a BigQuery y beneficiarte de las siguientes funciones:
- Almacenamiento en caché de metadatos para el rendimiento de las consultas
- Prevención de pérdida de datos
- Control de acceso a nivel de columna
- Enmascaramiento de datos dinámico para la seguridad y la administración a gran escala.
Funciones
Puedes usar el conector de Hive-BigQuery para trabajar con tus datos de BigQuery y realizar las siguientes tareas:
- Ejecutar consultas con motores de ejecución de MapReduce y Tez
- Crear y borrar tablas de BigQuery desde Hive
- Unir tablas de BigQuery y BigLake con tablas de Hive
- Realizar lecturas rápidas desde tablas de BigQuery con las transmisiones de la API de Storage Read y el formato de Apache Arrow
- Escribir datos en BigQuery con los siguientes
métodos:
- Escrituras directas con la API de BigQuery Storage Write en modo pendiente Usa este método para las cargas de trabajo que requieren una latencia de escritura baja, como los paneles casi en tiempo real con ventanas de tiempo de actualización cortas.
- Escrituras indirectas mediante la etapa de preparación de archivos Avro temporales en Cloud Storage y, luego, la carga de los archivos en una tabla de destino con la API de Load Job. Este método es menos costoso que el método directo, ya que los trabajos de carga de BigQuery no acumulan cargos. Dado que este método es más lento, se usa mejor en cargas de trabajo que no son urgentes.
Acceder a tablas de BigQuery con particiones por tiempo y agrupadas En el siguiente ejemplo se define la relación entre una tabla de Hive y una tabla con particiones y agrupadas en 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' );
Quitar columnas para evitar recuperar columnas innecesarias de la capa de datos
Usar la propagación de predicados para filtrar previamente las filas de datos en la capa de almacenamiento de BigQuery Esta técnica puede mejorar significativamente el rendimiento general de las consultas, ya que reduce la cantidad de datos que atraviesan la red.
Convertir automáticamente los tipos de datos de Hive a tipos de datos de BigQuery
Leer vistas de BigQuery y instantáneas de tablas.
Realizar integraciones con Spark SQL
Realizar integraciones con Apache Pig y HCatalog
Comenzar
Consulta las instrucciones para instalar y configurar el conector de Hive-BigQuery en un clúster de Hive.