Tous les produits
Search
Centre de documentation

E-MapReduce:JDBC Catalog

Dernière mise à jour :Aug 09, 2026

Un catalogue JDBC est un catalogue externe qui permet d'interroger directement les bases de données MySQL et PostgreSQL depuis EMR Serverless StarRocks, sans déplacer les données. Le catalogue JDBC est pris en charge à partir de la version 3.0 de StarRocks.

Avec un catalogue JDBC, vous pouvez :

  • Interroger directement les données dans MySQL, PostgreSQL et les sources de données compatibles avec leurs protocoles.

  • Charger des données depuis des sources JDBC vers des tables StarRocks à l'aide de INSERT INTO.

Créer un catalogue JDBC

Syntaxe

CREATE EXTERNAL CATALOG <catalog_name>
[COMMENT <comment>]
PROPERTIES
(
  "key"="value",
  ...
);

Paramètres

  • catalog_name : Obligatoire. Nom du catalogue JDBC.

    • Peut contenir des lettres, des chiffres et des traits de soulignement (_). Doit commencer par une lettre.

    • Longueur : 1 à 64 caractères.

  • comment : Facultatif. Description du catalogue JDBC.

  • PROPERTIES : Propriétés de connexion du catalogue JDBC. Toutes les propriétés du tableau suivant sont obligatoires.

Propriété Description
type Type de source de données. Définissez la valeur sur jdbc.
user Nom d'utilisateur pour la connexion à la base de données.
password Mot de passe pour la connexion à la base de données.
jdbc_uri URI de connexion du pilote JDBC. Utilisez "jdbc:mysql://ip:port" pour MySQL ou "jdbc:postgresql://ip:port/db_name" pour PostgreSQL.
driver_url URL de téléchargement du fichier JAR du pilote JDBC. Pour une instance StarRocks Serverless, téléchargez le fichier JAR sur Object Storage Service (OSS) avec un accès en lecture publique, puis définissez cette propriété sur une URL HTTP utilisant le point de terminaison interne du bucket OSS. Exemple : http://<YourBucketName>.oss-cn-xxxx-internal.aliyuncs.com/mysql-connector-java-*.jar. Pour savoir comment télécharger le fichier JAR, consultez Simple upload. Pour configurer les autorisations d'accès requises, consultez Set the ACL for a bucket.
driver_class Nom de classe du pilote JDBC. Pour MySQL 5.x et versions antérieures, utilisez com.mysql.jdbc.Driver. Pour MySQL 6.x et versions ultérieures, utilisez com.mysql.cj.jdbc.Driver. Pour PostgreSQL, utilisez org.postgresql.Driver.

Exemple

-- MySQL
CREATE EXTERNAL CATALOG mysql_catalog
PROPERTIES
(
    "type"="jdbc",
    "user"="root",
    "password"="xxxxx",
    "jdbc_uri"="jdbc:mysql://127.0.0.1:3306",
    "driver_url"="http://<YourBucketName>.oss-cn-xxxx-internal.aliyuncs.com/mysql-connector-java-*.jar",
    "driver_class"="com.mysql.cj.jdbc.Driver"
);
Remarque

Remplacez mysql-connector-java-*.jar par le nom de fichier réel (incluant la version) de votre fichier JAR du pilote JDBC MySQL.

Consulter les catalogues JDBC

Pour répertorier tous les catalogues du cluster StarRocks actuel :

SHOW CATALOGS;

Pour afficher l'instruction de création d'un catalogue spécifique, par exemple jdbc0 :

SHOW CREATE CATALOG jdbc0;

Supprimer un catalogue JDBC

Pour supprimer un catalogue JDBC, par exemple jdbc0 :

DROP CATALOG jdbc0;

Interroger des données via un catalogue JDBC

Option 1 : Changer de contexte, puis interroger

  1. Répertoriez les bases de données du catalogue :

    SHOW DATABASES FROM <catalog_name>;
  2. Basculez vers le catalogue et définissez la base de données active :

    SET CATALOG <catalog_name>;
    USE <db_name>;

    Vous pouvez également basculer directement vers la base de données :

    USE <catalog_name>.<db_name>;
  3. Exécutez une requête sur la table cible :

    SELECT * FROM <table_name>;

Option 2 : Nom de table complet

Interrogez sans changer de contexte en utilisant un nom en trois parties :

SELECT * FROM <catalog_name>.<database_name>.<table_name>;

FAQ

Q : Comment résoudre l'erreur « Malformed database URL, failed to parse the main URL sections » ?

La valeur jdbc_uri est incorrecte. Vérifiez le format :

  • MySQL : jdbc:mysql://ip:port

  • PostgreSQL : jdbc:postgresql://ip:port/db_name

Assurez-vous qu'il n'y a pas d'espaces supplémentaires, de deux-points manquants ou de barres obliques incorrectes. Consultez la description du paramètre jdbc_uri ci-dessus pour plus de détails.