Tous les produits
Search
Centre de documentation

MaxCompute:Présentation

Dernière mise à jour :Oct 10, 2026

Le pilote MaxCompute Java Database Connectivity (JDBC) fournit une API JDBC standard. Utilisez cette API pour effectuer des calculs distribués et interroger de grands volumes de données dans MaxCompute. Le pilote JDBC permet également de connecter à MaxCompute des outils compatibles avec JDBC.

Remarques d'utilisation

Précautions

  • Pour exécuter des instructions SQL et récupérer les résultats via le pilote MaxCompute JDBC, vous devez remplir les conditions suivantes :

    • Vous êtes membre d'un projet.

    • Vous disposez de l'autorisation CREATE INSTANCE sur le projet.

    • Vous détenez les autorisations SELECT et DOWNLOAD sur la table cible.

      Remarque
      • Avec MaxCompute JDBC V1.9 ou version antérieure, une table temporaire est automatiquement créée pour chaque requête. Les commandes Tunnel permettent alors de récupérer les résultats depuis cette table temporaire. L'utilisation de ces versions nécessite l'autorisation CREATE TABLE.

      • À partir de MaxCompute JDBC V2.2, aucune table temporaire n'est créée automatiquement pour chaque requête. L'appel de l'interface InstanceTunnel suffit pour obtenir les résultats, indépendamment de la possession de l'autorisation CREATE TABLE.

      Pour en savoir plus sur les autorisations MaxCompute, consultez la rubrique Autorisations MaxCompute.

  • MaxCompute intègre une fonctionnalité de protection des données. Lorsqu'elle est activée pour un projet, il est impossible d'exporter des données hors du projet. Avec une version de MaxCompute JDBC antérieure à la V2.4, aucun result sets ne peut être récupéré. À partir de MaxCompute JDBC V2.4, le nombre de lignes retournées ne doit pas dépasser la valeur définie pour le paramètre READ_TABLE_MAX_ROW. Pour plus de détails sur ce paramètre, reportez-vous à la rubrique Commandes de projet. Pour approfondir la fonctionnalité de protection des données, consultez la rubrique Protection des données de projet.

  • L'édition de types de données MaxCompute V2.0 prend en charge davantage de types, tels que TINYINT, SMALLINT, DATETIME, TIMESTAMP, ARRAY, MAP et STRUCT. Pour exploiter ces nouveaux types, exécutez la commande suivante afin d'activer l'édition de types de données MaxCompute V2.0. Plus de détails sont disponibles dans la rubrique Guide des versions de types de données.

    set odps.sql.type.system.odps2=true
  • À partir de JDBC V3.4.1, si vos requêtes SQL sont longues (supérieures à 1 Ko), contrôlez attentivement la concurrence. Par exemple, sur une instance ECS dotée de 8 vCPU et de 16,0 Go de mémoire, la concurrence ne devrait pas dépasser 100. Si vous ne parvenez pas à maîtriser efficacement la concurrence, mettez à niveau JDBC vers la version V3.8.8 ou V3.9.3 et définissez skipCheckIfSelect=true pour désactiver la fonctionnalité d'analyse SQL. Pour en savoir plus sur cette fonctionnalité, consultez la rubrique Mises à jour de version.

FAQ

  • Comment consulter le fichier journal du pilote MaxCompute JDBC ?

    • Par défaut, le fichier journal du pilote MaxCompute JDBC se trouve dans le même répertoire que le package JAR du pilote MaxCompute JDBC. Le nom du fichier est jdbc.log.

    • Si le code et le pilote MaxCompute JDBC résident dans le même package uber JAR, le fichier journal du pilote MaxCompute JDBC est stocké dans le même répertoire que ce package uber JAR.

    Les journaux du pilote MaxCompute JDBC affichent les détails des appels API JDBC, notamment les noms de classe, les noms de méthode, les paramètres, les valeurs de retour et le nombre de lignes. Ces informations facilitent le débogage.

  • Comment obtenir une URL Logview MaxCompute ?

    Le pilote MaxCompute JDBC repose sur MaxCompute SDK for Java. Des URL Logview sont générées lors de l'exécution d'instructions SQL dans le client MaxCompute, MaxCompute Studio et DataWorks. Elles sont également produites lorsque vous utilisez le pilote MaxCompute JDBC pour exécuter des instructions SQL. Grâce aux URL Logview, vous pouvez surveiller l'état des tâches, suivre leur progression et récupérer les résultats d'exécution. Une URL Logview est configurée via le paramètre properties.log4j. Par défaut, les journaux s'affichent sous forme de journaux d'erreur standard.

  • MaxCompute prend-il en charge les pools de connexions et le mode auto-commit ?

    MaxCompute propose des services REST, différents des connexions persistantes des bases de données traditionnelles. L'établissement d'une connexion représente une tâche légère pour le pilote MaxCompute JDBC. Bien que le pilote prenne en charge les scénarios utilisant des pools de connexions, ceux-ci ne sont pas indispensables avec MaxCompute JDBC.

    MaxCompute ne gère pas les transactions. Chaque requête est immédiatement exécutée sur le serveur. Le mode auto-commit est activé par défaut pour le pilote MaxCompute JDBC. Il est impossible de désactiver ce mode.

  • Comment obtenir les champs de partition et les types de données ?

    Utilisez la méthode Connection.getMetadata() pour récupérer des objets DatabaseMetaData, puis la méthode getColumns() afin d'obtenir les métadonnées de toutes les colonnes.