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
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.
Dans le volet de navigation de gauche, cliquez sur Catalogs.
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.
-
Configurez les paramètres du catalogue.
ImportantLa 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 nameNom du catalogue StarRocks. Yes Lettres minuscules et chiffres uniquement. Les traits d'union (-), les underscores (_) et les lettres majuscules ne sont pas autorisés. endpointEndpoint d'un nœud FrontEnd (FE). Yes Format : jdbc:mysql://ip:port. Le port JDBC par défaut est 9030.dbnameBase de données StarRocks par défaut à laquelle se connecter. Yes — usernameNom d'utilisateur pour accéder à StarRocks. Yes — passwordMot 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. 
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>'
);

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 ( |
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
Connectez-vous à la console Realtime Compute for Apache Flink. Recherchez l'espace de travail souhaité et cliquez sur Console dans la colonne Actions.
Dans le volet de navigation de gauche, cliquez sur Catalogs.
-
Sur la page Catalog List, localisez le catalogue. Les colonnes Name et Type affichent ses informations de base.
RemarquePour 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
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
Connectez-vous à la console Realtime Compute for Apache Flink. Recherchez l'espace de travail souhaité et cliquez sur Console dans la colonne Actions.
Dans le volet de navigation de gauche, cliquez sur Catalogs.
Sur la page Catalog List, localisez le catalogue et cliquez sur Delete dans la colonne Actions.
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.