O código aberto Conector do Hive-BigQuery permite que o Apache Hive as cargas de trabalho leem e gravam dados no BigQuery e Tabelas do BigLake. É possível armazenar dados no armazenamento do BigQuery ou em formatos de dados de código aberto Cloud Storage.
O conector Hive-BigQuery implementa a API Hive Storage Handler para permitir a integração de cargas de trabalho do Hive com o BigQuery e o BigLake tabelas. O mecanismo de execução Hive lida com operações de computação, como como agregações e mesclagens, e o conector gerencia as interações dados armazenados no BigQuery ou em conexões com o BigLake buckets do Cloud Storage.
O diagrama a seguir ilustra como o conector Hive-BigQuery se encaixa entre as camadas de computação e de dados.
Casos de uso
Aqui estão algumas das maneiras pelas quais o conector Hive-BigQuery pode ajudá-lo na cenários comuns orientados por dados:
Migração de dados. Você planeja mover o data warehouse Hive para o BigQuery, e depois converter de modo incremental suas consultas do Hive para o dialeto SQL do BigQuery. Você espera que a migração leve um tempo significativo devido ao tamanho do seu data warehouse e do grande número de aplicativos conectados, e você precisa garantir a continuidade durante as operações de migração. Estes são os fluxo de trabalho:
- Você move seus dados para o BigQuery
- Usando o conector, você acessa e executa suas consultas originais do Hive, enquanto você converte gradualmente as consultas do Hive para o BigQuery Dialeto SQL compatível com ANSI.
- Depois de concluir a migração e a tradução, desative o Hive.
Fluxos de trabalho do Hive e do BigQuery. Você planeja usar Hive para algumas tarefas e BigQuery para cargas de trabalho que se beneficiam de recursos, como o BigQuery BI Engine ou BigQuery ML: Você usa o conector para mesclar tabelas do Hive às suas tabelas do BigQuery.
dependência de uma pilha de software de código aberto (OSS, na sigla em inglês). Para evitar a dependência de fornecedores, você usa uma pilha OSS completa para seu data warehouse. Este é seu plano de dados:
Você migra seus dados no formato OSS original, como Avro, Parquet ou ORC, para buckets do Cloud Storage usando uma conexão do BigLake.
Você continua a usar o Hive para executar e processar suas consultas de dialeto SQL do Hive.
Use o conector conforme necessário para se conectar ao BigQuery e aproveitar os seguintes recursos:
- Armazenamento em cache de metadados para a performance da consulta
- Prevenção contra perda de dados
- Controle de acesso no nível da coluna
- Mascaramento dinâmico de dados para segurança e governança em escala.
Recursos
Você pode usar o conector Hive-BigQuery para trabalhar com sua dados do BigQuery e realize as seguintes tarefas:
- Execute consultas com os mecanismos de execução MapReduce e Tez.
- Criar e excluir tabelas do BigQuery do Hive.
- Mesclar tabelas do BigQuery e do BigLake com tabelas do Hive.
- Execute leituras rápidas de tabelas do BigQuery usando o streams da API Storage Read e a Formato Apache Arrow
- Grave dados no BigQuery usando os seguintes métodos:
- Gravações diretas usando a API BigQuery Storage Write no modo pendente. Usar esse método para cargas de trabalho que exigem baixa latência de gravação, como cargas painéis com janelas de tempo de atualização curtas.
- Gravações indiretas ao organizar arquivos Avro temporários no Cloud Storage e, em seguida, carregar os arquivos em uma tabela de destino usando a API Load Job. Esse método é mais barato do que o método direto, já que o BigQuery carrega trabalhos não acumulem cobranças. Como esse método é mais lento e tem o melhor uso em cargas de trabalho que não são urgentes
Acessar o BigQuery particionado por tempo e em cluster. O exemplo a seguir define a relação entre uma tabela do Hive e uma tabela que está particionada e agrupada em cluster no 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' );
Remova colunas para evitar a recuperação de colunas desnecessárias da camada de dados.
Usar push-downs de predicado para pré-filtrar linhas de dados no armazenamento do BigQuery camada Essa técnica pode melhorar significativamente a performance geral da consulta, reduzindo a quantidade de dados que atravessam a rede.
Converter automaticamente os tipos de dados do Hive em tipos de dados do BigQuery.
Leia as visualizações do BigQuery e snapshots da tabela.
Integrar com o Spark SQL.
Integrar com Apache Pig e HCatalog.
Primeiros passos
Veja as instruções para instalar e configurar o conector do Hive-BigQuery em um cluster do Hive.