Drivers ODBC e JDBC para BigQuery

Introdução

Para que os usuários aproveitem os recursos do BigQuery e do GoogleSQL, o Google fez uma parceria com a Simba para oferecer drivers dedicados de Java Database Connectivity (JDBC) e Open Database Connectivity (ODBC).

Os drivers JDBC e ODBC permitem usar o BigQuery com suas ferramentas e infraestrutura preferidas. Com eles, é possível acessar recursos do BigQuery, como integração de armazenamento de alta performance e gerenciamento de reservas, que só estão disponíveis nas APIs BigQuery. Esses drivers especializados foram criados especificamente para o BigQuery e não podem ser usados com outros produtos ou serviços. Você não precisa de licenças adicionais para usar esses drivers.

Drivers ODBC atuais

Os drivers a seguir são as versões estáveis mais recentes do driver ODBC.

ODBC versão 3.1.2.1009

ODBC versão 2.5.2.1004

Recomendamos que você faça upgrade para a versão 3.x. A versão 2.5.x tem suporte para correções de bugs e atualizações de segurança essenciais, mas novos recursos do BigQuery só serão adicionados à versão 3.x.

Drivers JDBC atuais

Os drivers a seguir são as versões estáveis mais recentes do driver JDBC.

JDBC versão 1.6.3.1004

Permissões necessárias para a HTAPI ODBC

A API de alta capacidade de processamento (HTAPI, na sigla em inglês) é uma API opcional para ODBC. Para mais informações sobre a HTAPI, consulte o Guia de instalação e configuração.

Para receber as permissões necessárias para usar a API de alta capacidade de transferência, peça ao administrador para conceder a você o papel do IAM de Usuário da sessão de leitura do BigQuery (roles/bigquery.readSessionUser) no projeto do BigQuery. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para usar a API de alta taxa de transferência. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para usar a API de alta taxa de transferência:

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • bigquery.readsessions.create
  • bigquery.readsessions.getData
  • bigquery.readsessions.update

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Limitações

  • Os drivers JDBC e ODBC não são compatíveis com os recursos de carregamento de alta performance ou exportação do BigQuery. Para JDBC, o limite de resultados por página é 10.000. Esse limite é configurável. É possível fazer inserções de dados com instruções da linguagem de manipulação de dados (DML), mas elas estão sujeitas aos limites de instruções DML.
  • Os drivers JDBC e ODBC não são compatíveis com os tipos de dados ARRAY e STRUCT do GoogleSQL. Se a saída desses tipos de dados for solicitada dos drivers, eles vão renderizar os tipos de dados em um formato JSON. Para evitar a saída JSON, considere nivelar valores repetidos ou selecionar campos específicos de um registro.
  • Os drivers JDBC e ODBC não são compatíveis com prefixos de consulta.
  • Os drivers JDBC e ODBC são compatíveis com consultas parametrizadas, mas preparar uma consulta com parâmetros só fornece validação de consulta. Consultas parametrizadas com os drivers JDBC e ODBC não afetam o desempenho da consulta.

Suporte

O suporte para os drivers JDBC e ODBC está disponível no Cloud Customer Care.

Preços

Os drivers estão disponíveis para download sem nenhum custo. No entanto, os custos para executar consultas usando os drivers variam de acordo com sua configuração:

  • Os preços de consulta são aplicáveis por padrão a todas as consultas do driver. Esse é o único modelo de preços usado, a menos que o driver esteja configurado para oferecer suporte a grandes conjuntos de resultados.
  • Além dos preços de consulta, os preços de armazenamento são aplicáveis quando o driver está configurado para gravar grandes conjuntos de resultados em uma tabela de destino. Esses dados são armazenados por 24 horas, e você paga custos de armazenamento durante esse período.
  • Os preços da API Storage se aplicam apenas quando você usa o driver para invocar a API Storage. Esse modelo de preços abrange os dados lidos diretamente dos resultados da consulta, não os dados verificados durante a execução da consulta. É importante observar que o preço da API Storage se aplica apenas a grandes conjuntos de resultados.