Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:Scripts

Dernière mise à jour :Aug 09, 2026

Les scripts SQL vous permettent d’écrire et d’exécuter des commandes CALL ainsi que des instructions DDL, DQL et DML directement dans la console de développement, sans déployer de tâche. Utilisez les scripts pour configurer des catalogues et des tables, exécuter des requêtes et gérer les tables Apache Paimon.

Concepts clés

Types d'instructions

Les scripts prennent en charge trois catégories d'instructions SQL, chacune ayant un objectif distinct :

Type Objectif Exemples
DDL (Data Definition Language) Modifier les métadonnées : ajouter, modifier ou supprimer des objets tels que des catalogues et des tables. CREATE CATALOG, CREATE TABLE, DROP TABLE
DML (Data Manipulation Language) Modifier les données des tables. INSERT INTO, DELETE
DQL (Data Query Language) Lire et interroger les données. SELECT

Les scripts prennent également en charge la commande CALL et l'instruction EXPLAIN. Utilisez EXPLAIN pour afficher le plan d'exécution d'une instruction et résoudre les problèmes.

Important

L'exécution directe d'instructions DDL ou DML peut affecter vos métadonnées ou vos données. Vérifiez attentivement les instructions avant de les exécuter.

Modes d'exécution

Les scripts s'exécutent en mode batch ou en mode streaming. Choisissez le mode en fonction de votre source de données :

Mode Volume de données Cas d'utilisation
Batch Délimité (fixe, fini) Exécution de requêtes sur un jeu de données statique ; plus rapide pour les sources délimitées
Streaming Délimité ou non délimité (continu, infini) Traitement de flux de données en temps réel ou de sources sans fin définie

Pour basculer en mode streaming, ajoutez une instruction SET avant votre requête :

SET 'execution.runtime-mode' = 'streaming';
Les scripts ne prennent pas en charge les variables .

Enregistrement automatique

Les scripts sont enregistrés automatiquement toutes les minutes. Pour enregistrer manuellement, cliquez sur Save dans le coin supérieur droit et spécifiez un nom de fichier ainsi qu'un emplacement de stockage.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Accès à un espace de travail Realtime Compute for Apache Flink

  • Un cluster de session exécutant Ververica Runtime (VVR) 8.0.4 ou version ultérieure. Si aucun cluster n'existe, créez un cluster de session.

Créer et exécuter un script

  1. Connectez-vous à la console Realtime Compute for Apache Flink.

  2. Dans la colonne Actions de votre espace de travail, cliquez sur Console.

  3. Dans la console de développement, accédez à Development > Scripts et cliquez sur l'onglet Scripts.

  4. Cliquez sur image.png pour créer un script.

  5. Saisissez vos instructions SQL. L'exemple suivant crée un catalogue MySQL et interroge une table en mode streaming :

    -- Create a MySQL catalog
    -- For parameter details, see: Create a MySQL catalog
    CREATE CATALOG mysql_catalog WITH(
      'type' = 'mysql',
      'hostname' = 'rm-bp1x********.mysql.rds.aliyuncs.com',
      'port' = '3306',
      'username' = 'db_user',
      'password' = '${secret_values.mysqlpw}',
      'default-database' = 'flinktest'
    );
    
    -- Switch to streaming mode to query an unbounded source
    SET 'execution.runtime-mode' = 'streaming';
    SELECT * FROM `mysql_catalog`.flinktest.orders;

    Pour obtenir des détails complets sur la création d'un catalogue MySQL, consultez la rubrique Create a MySQL catalog.

  6. Dans le coin inférieur droit, cliquez sur Environment et sélectionnez un cluster de session exécutant VVR 8.0.4 ou version ultérieure.

  7. Sélectionnez l'instruction ou les instructions à exécuter, puis cliquez sur Run à gauche de la sélection.

  8. (Facultatif) Cliquez sur Save dans le coin supérieur droit, puis spécifiez un nom de fichier et un emplacement de stockage.

FAQ

Pourquoi l'erreur « Querying an unbounded table 'XXX' in batch mode is not allowed » s'affiche-t-elle ?

La table source est un flux non délimité, c'est-à-dire qu'elle n'a pas de fin définie. Le mode batch fonctionne uniquement avec des jeux de données délimités (finis). Ajoutez une instruction SET avant votre requête pour basculer en mode streaming :

SET 'execution.runtime-mode' = 'streaming';

Rubriques connexes