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:
-
Conecte ferramentas de gerenciamento de banco de dados ao MaxCompute usando o driver MaxCompute JDBC para gerencie projetos diretamente. 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.
Tenha 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 temporária. 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 as 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 ficará bloqueada. No MaxCompute JDBC anterior à V2.4, nenhum
result setspode ser obtido. Na versão V2.4 ou posterior, a quantidade de linhas retornadas não ultrapassa o valor definido no parâmetro READ_TABLE_MAX_ROW. Consulte Project commands para saber mais sobre esse parâmetro e Project data protection para detalhes sobre o recurso de proteção de dados.
-
A edição de tipos de dados do MaxCompute V2.0 abrange formatos adicionais, como TINYINT, SMALLINT, DATETIME, TIMESTAMP, ARRAY, MAP e STRUCT. Para usar esses novos tipos, execute o comando abaixo e ative a edição de tipos de dados do MaxCompute V2.0. Para mais informações, consulte Data type version guide.
set odps.sql.type.system.odps2=true No JDBC V3.4.1 ou posterior, 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, limite a concorrência a 100. Caso não consiga controlar a concorrência eficientemente, atualize o JDBC para a versão V3.8.8 ou V3.9.3 e defina
skipCheckIfSelect=truepara desativar o recurso de análise de SQL. Para mais informações sobre essa funcionalidade, consulte Version updates.
Perguntas frequentes
-
Como visualize o arquivo de log do driver MaxCompute JDBC?
Por padrão, o arquivo de log do driver MaxCompute JDBC reside no mesmo diretório do pacote JAR correspondente, com o nome jdbc.log.
Se o código e o driver MaxCompute JDBC estiverem agrupados no mesmo pacote uber JAR, o arquivo de log ficará localizado no diretório desse pacote 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. Use essas informações para depuração.
-
Como obter uma URL do Logview do MaxCompute?
O driver MaxCompute JDBC foi desenvolvido com base no MaxCompute SDK for Java. As URLs do Logview são geradas durante a execução de instruções SQL no cliente MaxCompute, no MaxCompute Studio e no DataWorks. Ao usar o driver MaxCompute JDBC para executar SQL, essas URLs também são criadas. Elas servem para verificar o status do job, acompanhar o progresso e consultar os resultados da execução. Configure a URL do Logview por meio do parâmetro properties.log4j. Por padrão, os registros aparecem como logs de erro padrão.
-
O MaxCompute suporta pools de conexões e o modo de confirmação automática?
O MaxCompute opera com services REST, diferentemente das conexões persistentes típicas de bancos de dados tradicionais. Estabelecer uma conexão representa uma tarefa leve para o driver MaxCompute JDBC. Embora o driver funcione em cenários com pools de conexões, eles não são necessários.
O MaxCompute não suporta transações. Cada consulta é processada imediatamente no servidor. O modo de confirmação automática vem ativado por padrão no driver MaxCompute JDBC e não pode ser desativado.
-
Como recupero campos de partição e tipos de dados?
Use o método
Connection.getMetadata()para obter objetos DatabaseMetaData e o métodogetColumns()para obter os metadados de todas as colunas.