Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:Manage StarRocks catalogs

Dernière mise à jour :Aug 09, 2026

Les catalogues StarRocks vous permettent d'accéder aux métadonnées StarRocks (bases de données, tables et partitions) directement depuis la console de développement Realtime Compute for Apache Flink, sans rédiger manuellement des instructions DDL pour chaque table. Flink mappe automatiquement les tables StarRocks, ce qui vous permet d'interroger ou d'écrire des données immédiatement.

Cette rubrique explique comment créer, afficher, utiliser et supprimer un catalogue StarRocks.

Limitations

  • Les catalogues StarRocks nécessitent la version du moteur vvr-6.0.6-flink-1.15 ou ultérieure.

  • Les catalogues StarRocks sont en lecture seule concernant le schéma : vous ne pouvez ni créer ni modifier des tables StarRocks via un catalogue.

Création d'un catalogue StarRocks

Deux méthodes sont disponibles : l'interface utilisateur de la console et Flink SQL. L'utilisation de l'interface est recommandée.

Création d'un catalogue StarRocks via la console

  1. Connectez-vous à la console Realtime Compute for Apache Flink. Recherchez l'espace de travail que vous souhaitez gérer et cliquez sur Console dans la colonne Actions.

  2. Dans le volet de navigation de gauche, cliquez sur Catalogs.

  3. Sur la page Catalog List, cliquez sur Create Catalog. Dans l'assistant Create Catalog, sélectionnez StarRocks sous l'onglet Built-in Catalog, puis cliquez sur Next.

  4. Configurez les paramètres du catalogue.

    Important

    La configuration d'un catalogue StarRocks ne peut pas être modifiée après sa création. Pour changer un paramètre, supprimez le catalogue existant et créez-en un nouveau.

    Parameter Description Required Notes
    catalog name Nom du catalogue StarRocks. Yes Lettres minuscules et chiffres uniquement. Les traits d'union (-), les underscores (_) et les lettres majuscules ne sont pas autorisés.
    endpoint Endpoint d'un nœud FrontEnd (FE). Yes Format : jdbc:mysql://ip:port. Le port JDBC par défaut est 9030.
    dbname Base de données StarRocks par défaut à laquelle se connecter. Yes
    username Nom d'utilisateur pour accéder à StarRocks. Yes
    password Mot de passe pour accéder à StarRocks. Yes Utilisez une variable au lieu d'un mot de passe en clair pour éviter l'exposition des identifiants. Consultez Manage variables.

    image

  5. Cliquez sur Confirm.

Le catalogue apparaît sur la page Catalog List.

Création d'un catalogue StarRocks avec Flink SQL

Dans l'éditeur SQL de la page Scripts, saisissez une instruction CREATE CATALOG, sélectionnez-la, puis cliquez sur Run à gauche.

CREATE CATALOG <catalogname> WITH (
  'type' = 'starrocks',
  'endpoint' = '<ip>:<port>',
  'username' = '<userName>',
  'password' = '<password>',
  'dbname' = '<dbname>'
);

image..png

Les options de configuration varient selon votre version VVR.

VVR 11+

Option Description Required Notes
catalogname Nom du catalogue StarRocks. Yes Lettres minuscules (a–z) et chiffres (0–9) uniquement.
type Type de connecteur. Yes Définissez sur starrocks.
endpoint Endpoint FrontEnd (FE). No Format : jdbc:mysql://ip:port. Port par défaut : 9030. Utilisez cette option pour éviter de configurer séparément jdbc-url et http-url.
jdbc-url URL JDBC pour le serveur MySQL FE. No Séparez plusieurs adresses par des virgules. Format : jdbc:mysql://<fe_host1>:<fe_query_port1>,<fe_host2>:<fe_query_port2>. Doit être utilisé conjointement avec http-url.
http-url URL HTTP pour le serveur HTTP FE. No Séparez plusieurs adresses par des points-virgules. Format : <fe_host1>:<fe_http_port1>;<fe_host2>:<fe_http_port2>. Doit être utilisé conjointement avec jdbc-url.
username Nom d'utilisateur pour accéder à StarRocks. Yes
password Mot de passe pour accéder à StarRocks. Yes Utilisez une variable au lieu d'une valeur en clair. Consultez Namespace variables.
dbname Base de données par défaut à laquelle se connecter. No Équivalent à default-database. Utilisez l'un ou l'autre.
default-database Base de données par défaut à laquelle se connecter. No Alias de compatibilité pour dbname. Utilisez l'un ou l'autre.
table.num-buckets Nombre par défaut de buckets par partition pour les tables créées via le catalogue. No
table.char-expand-multiple Multiplicateur appliqué aux longueurs des colonnes VARCHAR et CHAR lors de la création de tables via le catalogue. No Par défaut : 4.
table.binary-padding Nombre de caractères ajoutés aux longueurs des colonnes VARBINARY et BINARY lors de la création de tables via le catalogue. No Par défaut : 2.
table.key-type Type de table pour les tables créées via le catalogue. No Valeurs valides : PRI (par défaut, table à clé primaire), UNI (table à clé unique), AGG (table d'agrégation), DUP (table à clé dupliquée).
table.keys Champs de clé pour les tables créées via le catalogue. No
table.distribution-keys Colonnes de distribution (clés de bucket) pour les tables créées via le catalogue. No Si non spécifié, les tables à clé primaire utilisent la clé primaire comme clé de bucket par défaut.
Important

Ne définissez pas ce paramètre sur une chaîne vide (''). Sinon, les tables à clé primaire échoueront avec l'erreur Distribution column() doesn't exist car la colonne de bucket est vide. Pour utiliser la clé primaire comme clé de bucket, laissez ce paramètre non défini.

table.enable-null-primary-key Indique si Flink traite les colonnes de clé primaire nullable dans StarRocks comme non nullable. No Valeurs valides : false (par défaut), true. Lorsqu'il est défini sur true, assurez-vous que les données amont ne contiennent aucune valeur NULL dans les colonnes de clé primaire afin d'éviter tout comportement inattendu.

VVR 8 and earlier

Option Description Required Notes
catalogname Nom du catalogue StarRocks. Yes Lettres minuscules (a–z) et chiffres (0–9) uniquement.
type Type de connecteur. Yes Définissez sur starrocks.
endpoint Endpoint FrontEnd (FE). Yes Format : jdbc:mysql://ip:port. Port par défaut : 9030.
username Nom d'utilisateur pour accéder à StarRocks. Yes
password Mot de passe pour accéder à StarRocks. Yes Utilisez une variable au lieu d'une valeur en clair. Consultez Namespace variables.
dbname Base de données par défaut à laquelle se connecter. Yes

Affichage d'un catalogue StarRocks

  1. Connectez-vous à la console Realtime Compute for Apache Flink. Recherchez l'espace de travail souhaité et cliquez sur Console dans la colonne Actions.

  2. Dans le volet de navigation de gauche, cliquez sur Catalogs.

  3. Sur la page Catalog List, localisez le catalogue. Les colonnes Name et Type affichent ses informations de base.

    Remarque

    Pour parcourir les bases de données et les tables contenues dans le catalogue, cliquez sur View dans la colonne Actions.

Utilisation d'un catalogue StarRocks

Un catalogue expose les données StarRocks sous forme d'un namespace à trois niveaux : catalog_name.db_name.table_name. Référez-vous aux tables dans Flink SQL en utilisant des identifiants entre guillemets inversés à chaque niveau.

Flink namespace level StarRocks equivalent
Catalog name Défini dans Flink uniquement
Database name Nom de la base de données StarRocks
Table name Nom de la table StarRocks

Lecture des données d'une table StarRocks

VVR 11+

INSERT INTO ${other_sink_table}
SELECT ...
FROM `${catalog_name}`.`${db_name}`.`${table_name}`

VVR 8 and earlier

L'indicateur OPTIONS est requis pour spécifier les paramètres du connecteur pour la table source.

INSERT INTO ${other_sink_table}
SELECT ...
FROM `${catalog_name}`.`${db_name}`.`${table_name}`
    /*+
        OPTIONS('connector' = 'starrocks', 'jdbc-url' = 'jdbc:mysql://ip:port', 'scan-url' = 'ip:port')
    */

Écriture des données dans une table StarRocks

VVR 11+

INSERT INTO `${catalog_name}`.`${db_name}`.`${table_name}`
SELECT ...
FROM ${other_source_table}

VVR 8 and earlier

L'indicateur OPTIONS est requis pour spécifier les paramètres du connecteur pour la table de résultat.

INSERT INTO `${catalog_name}`.`${db_name}`.`${table_name}`
    /*+
        OPTIONS('connector' = 'starrocks', 'jdbc-url' = 'jdbc:mysql://ip:port', 'load-url' = 'ip:port', 'sink.buffer-flush.interval-ms' = '5000', 'sink.properties.row_delimiter' = '\x02', 'sink.properties.column_separator' = '\x01')
    */
SELECT ...
FROM ${other_source_table}

Utilisation de CTAS ou CDAS pour écrire dans StarRocks

CTAS (CREATE TABLE AS SELECT) et CDAS (CREATE DATABASE AS DATABASE) vous permettent de créer des tables ou des bases de données StarRocks à partir de sources existantes en une seule instruction.

USE CATALOG sr_catalog;

CREATE TABLE IF NOT EXISTS `${table_name}`
WITH (
  ...
) AS TABLE ${other_source_table};

CREATE DATABASE IF NOT EXISTS `${db_name}`
WITH (
  ...
) AS DATABASE ${other_source_database};

Pour une procédure complète, consultez Ingest data from MySQL to StarRocks with Flink.

Suppression d'un catalogue StarRocks

Important

La suppression d'un catalogue n'affecte pas les déploiements en cours d'exécution. Toutefois, les déploiements qui ne sont pas encore publiés ou qui doivent être suspendus seront affectés. Procédez avec prudence.

Deux méthodes sont disponibles : l'interface utilisateur de la console et Flink SQL. L'utilisation de l'interface est recommandée.

Suppression d'un catalogue StarRocks via la console

  1. Connectez-vous à la console Realtime Compute for Apache Flink. Recherchez l'espace de travail souhaité et cliquez sur Console dans la colonne Actions.

  2. Dans le volet de navigation de gauche, cliquez sur Catalogs.

  3. Sur la page Catalog List, localisez le catalogue et cliquez sur Delete dans la colonne Actions.

  4. Dans la boîte de dialogue de confirmation, cliquez sur Delete.

Le catalogue est retiré du volet Catalogs dans la navigation de gauche.

Suppression d'un catalogue StarRocks avec Flink SQL

Dans l'éditeur SQL de la page Scripts, saisissez l'instruction suivante, faites un clic droit dessus, puis sélectionnez Run.

DROP CATALOG `<catalog name>`;

Remplacez <catalog name> par le nom du catalogue que vous souhaitez supprimer.

Après l'exécution de l'instruction, vérifiez que le catalogue a bien été supprimé en consultant le volet Catalogs dans la navigation de gauche.