Tous les produits
Search
Centre de documentation

MaxCompute:Présentation

Dernière mise à jour :Aug 21, 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 grandes quantités 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 de récupérer les résultats depuis cette table temporaire. L'utilisation de ces versions nécessite l'autorisation CREATE TABLE.

      • Avec MaxCompute JDBC V2.2 ou version ultérieure, aucune table temporaire n'est créée automatiquement lors des requêtes. L'appel à l'interface InstanceTunnel suffit pour obtenir les résultats, indépendamment de l'octroi 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. Si celle-ci est activée pour un projet, l'extraction des données hors du projet est impossible. Avec une version de MaxCompute JDBC antérieure à la V2.4, aucun result sets ne peut être récupéré. À partir de la version V2.4 de MaxCompute JDBC, le nombre de lignes de résultat récupérées ne doit pas dépasser la valeur définie pour le paramètre READ_TABLE_MAX_ROW. Consultez la rubrique Opérations sur les projets pour plus de détails sur ce paramètre. La rubrique Protection des données du projet décrit la fonctionnalité de protection des données.

  • L'édition de type 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, activez l'édition de type de données MaxCompute V2.0 en exécutant la commande suivante. Plus de détails sont disponibles dans la rubrique Guide des versions de type 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 GiB 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 afin de désactiver la fonctionnalité d'analyse SQL. Consultez la rubrique Mises à jour de version pour en savoir plus sur cette fonctionnalité.

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. Son nom est jdbc.log.

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

    Les journaux du pilote MaxCompute JDBC affichent les détails des appels d'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 s'appuie 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 exécutez des instructions SQL via le pilote MaxCompute JDBC. Ces URL Logview vous permettent de surveiller l'état des jobs, de suivre leur progression et de récupérer les résultats d'exécution. La configuration d'une URL Logview passe par 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 accepte 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 récupérer les champs de partition et les types de données ?

    La méthode Connection.getMetadata() permet d'obtenir des objets DatabaseMetaData, tandis que la méthode getColumns() renvoie les métadonnées de toutes les colonnes.