Conector de Hive-BigQuery

El código abierto Conector Hive-BigQuery permite que tu sistema Apache Hive las cargas de trabajo leen y escriben datos desde y hacia BigQuery y BigLake. Puedes almacenar datos en en BigQuery Storage o en formatos de datos de código abierto en en Google 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 en BigQuery y BigLake tablas. El motor de ejecución de Hive controla las operaciones de procesamiento, como como agregaciones y uniones, y el conector administra las interacciones con en BigQuery o en buckets conectados a BigLake buckets de Cloud Storage.

En el siguiente diagrama, se ilustra cómo el conector de Hive-BigQuery entre las capas de procesamiento y de datos.

Arquitectura del conector de Hive-BigQuery

Casos de uso

Estas son algunas de las formas en que el conector de Hive-BigQuery puede ayudarte a situaciones comunes basadas en datos:

  • Migración de datos. Planeas trasladar tu almacén de datos de Hive a BigQuery, y, luego, traducir de manera incremental tus consultas de Hive al dialecto SQL de BigQuery. Esperas que la migración demore bastante 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:

    1. Mueve tus datos a BigQuery
    2. Con el conector, puedes acceder a tus consultas originales de Hive y ejecutarlas mientras traduces gradualmente las consultas de Hive a BigQuery Dialecto SQL que cumple con ANSI.
    3. Después de completar la migración y traducción, retirará Hive.
  • Flujos de trabajo de Hive y BigQuery Tienes planeado usar Hive para algunas tareas y BigQuery para cargas de trabajo que se benefician por sus funciones, como BigQuery BI Engine o BigQuery ML. Usas el conector para unir las tablas de Hive a las tablas de BigQuery.

  • Fiabilidad en una pila de software de código abierto (OSS). Para evitar depender de un solo proveedor, use una pila OSS completa para su almacén de datos. Este es tu plan de datos:

    1. Si migras tus datos en su formato OSS original, como Avro, Parquet o ORC a buckets de Cloud Storage con una conexión de BigLake.

    2. Continuarás usando Hive para ejecutar y procesar tus consultas de dialecto SQL de Hive.

    3. Usas el conector según sea necesario para conectarte a BigQuery. se beneficie de las siguientes funciones:

Funciones

Puedes usar el conector de Hive-BigQuery para trabajar con tu datos de BigQuery y realiza las siguientes tareas:

  • Ejecutar consultas con los motores de ejecución MapReduce y Tez
  • Crear y borrar tablas de BigQuery de Hive
  • Unir tablas de BigQuery y BigLake con tablas de Hive
  • Realiza lecturas rápidas de tablas de BigQuery con el API de Storage Read y Formato de Apache Flecha
  • Escribe datos en BigQuery con las siguientes opciones: métodos:
    • Escrituras directas con BigQuery API de Storage Write en modo pendiente. Usa este método para las cargas de trabajo que requieren baja latencia de escritura, como los y paneles de control con períodos de actualización cortos.
    • Escrituras indirectas mediante la etapa de pruebas de archivos Avro temporales en Cloud Storage y, luego, Cargar 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 BigQuery carga los trabajos no acumulan cargos. Como este método es más lento y encuentra su mejor uso en cargas de trabajo que no son críticas para el tiempo
  • Acceder a BigQuery particionada por tiempo y agrupadas. En el siguiente ejemplo, define la relación entre una tabla de Hive y una tabla que está particionada y agrupada en clústeres 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'
    );
    
  • Reduce las columnas para evitar recuperar columnas innecesarias de la capa de datos.

  • Usa pushdowns de predicado para filtrar previamente las filas de datos en el almacenamiento de BigQuery por la capa de prealimentación. Esta técnica puede mejorar significativamente el rendimiento general de las consultas lo que reduce la cantidad de datos que recorren la red.

  • Convierte automáticamente los tipos de datos de Hive en BigQuery.

  • Lee las vistas de BigQuery y instantáneas de tablas.

  • Integrar en Spark SQL

  • Integración en Apache Pig y HCatalog

Comenzar

Consulta las instrucciones para Instalar y configurar el conector de Hive-BigQuery en un clúster de Hive.