O driver MaxCompute Java Database Connectivity (JDBC) oferece uma API JDBC padrão. Use a API JDBC para executar computação distribuída e consultas em grandes volumes de dados no MaxCompute. O driver JDBC também permite conectar ferramentas compatíveis com JDBC ao MaxCompute.
Notas de uso
Use o driver MaxCompute JDBC para se conectar ao MaxCompute. Para mais informações, consulte User guide.
-
Conecte ferramentas de análise de Business Intelligence (BI) ao MaxCompute por meio do driver MaxCompute JDBC para analisar dados visualmente. Referências:
-
Use o driver MaxCompute JDBC para conectar ferramentas de gerenciamento de banco de dados ao MaxCompute e gerencie projetos. Referências:
Precauções
-
Para execute instruções SQL e obter resultados com o driver MaxCompute JDBC, atenda aos seguintes requisitos:
Seja membro de um projeto.
Possua a permissão CREATE INSTANCE no projeto.
-
Tenha as permissões SELECT e DOWNLOAD na tabela de destino.
NotaNo MaxCompute JDBC V1.9 ou anterior, o sistema cria automaticamente uma tabela temporária para cada consulta. Use comandos Tunnel para recuperar os resultados dessa tabela. O uso dessas versões exige a permissão CREATE TABLE.
A partir do MaxCompute JDBC V2.2, não há criação automática de tabela temporária por consulta. Chame a interface InstanceTunnel para obter os resultados, independentemente da permissão CREATE TABLE.
Para mais detalhes sobre permissões do MaxCompute, consulte MaxCompute permissions.
O MaxCompute oferece um recurso de proteção de dados. Se esse recurso estiver ativado em um projeto, a transferência de dados para fora dele será bloqueada. No MaxCompute JDBC anterior à V2.4, não é possível obter
result sets. Na versão V2.4 ou posterior, a quantidade de linhas retornadas respeita o limite definido pelo parâmetro READ_TABLE_MAX_ROW. Para saber mais sobre esse parâmetro, consulte Project operations. Para obter detalhes adicionais sobre o recurso de proteção de dados, consulte Project data protection.-
A edição de tipos de dados MaxCompute V2.0 suporta novos tipos, como TINYINT, SMALLINT, DATETIME, TIMESTAMP, ARRAY, MAP e STRUCT. Para habilitá-los, execute o comando abaixo e ative a edição de tipos de dados MaxCompute V2.0. Para mais informações, consulte Data type version guide.
set odps.sql.type.system.odps2=true No JDBC V3.4.1 e posteriores, controle rigorosamente a concorrência em consultas SQL longas (acima de 1 KB). Por exemplo, em uma instância ECS com 8 vCPUs e 16,0 GiB de memória, mantenha a concorrência abaixo de 100. Se não for possível gerencie adequadamente a concorrência, atualize o JDBC para a versão V3.8.8 ou V3.9.3 e defina
skipCheckIfSelect=truepara desativar o recurso de parsing de SQL. Para mais informações sobre essa funcionalidade, consulte Version updates.-
Como visualize o arquivo de log do driver MaxCompute JDBC?
Por padrão, o arquivo de log do driver MaxCompute JDBC fica no mesmo diretório do pacote JAR correspondente, com o nome jdbc.log.
Se o código e o driver MaxCompute JDBC estiverem empacotados juntos em um uber JAR, o arquivo de log ficará localizado no mesmo diretório desse uber JAR.
Os logs do driver MaxCompute JDBC detalham as chamadas à API JDBC, incluindo nomes de classes, métodos, parâmetros, valores de retorno e contagem de linhas. Essas informações são úteis para depuração.
-
Como obter uma URL do Logview do MaxCompute?
O driver MaxCompute JDBC foi desenvolvido com base no MaxCompute SDK for Java. URLs do Logview são geradas durante a execução de instruções SQL no cliente MaxCompute, no MaxCompute Studio e no DataWorks. O driver MaxCompute JDBC também gera essas URLs ao executar comandos SQL. Use-as para visualize o status do job, acompanhar o progresso e acessar os resultados da execução. Configure a URL do Logview por meio do parâmetro properties.log4j. Por padrão, os logs aparecem como erros padrão.
-
O MaxCompute suporta pools de conexões e modo auto-commit?
O MaxCompute opera com services REST, diferentemente das conexões persistentes típicas de bancos de dados tradicionais. Estabelecer uma conexão com o driver MaxCompute JDBC é uma tarefa leve. Embora o driver funcione em cenários com pools de conexões, eles não são necessários.
Como o MaxCompute não suporta transações, cada consulta é processada imediatamente no servidor. O modo auto-commit vem ativado por padrão no driver MaxCompute JDBC e não pode ser desativado.
-
Como recuperar campos de partição e tipos de dados?
Use o método
Connection.getMetadata()para acessar objetos DatabaseMetaData e chame o métodogetColumns()para obter os metadados de todas as colunas.