Fully managed Flink propose une riche bibliothèque de modèles de code. Chaque modèle inclut des cas d'utilisation spécifiques, des exemples de code et des instructions pour vous aider à démarrer. Utilisez ces modèles pour apprendre rapidement les fonctionnalités et la syntaxe de Flink, ainsi que pour implémenter votre propre logique métier. Cette rubrique décrit les cas d'utilisation de ces modèles de code et explique comment les utiliser.
Limites
Les modèles de code nécessitent Realtime Compute for Apache Flink avec une version du moteur vvr-4.0.12-flink-1.13 ou ultérieure.
Remarques sur l'utilisation
Si un modèle ne contient pas d'instruction INSERT INTO, vous ne pouvez pas déployer le job résultant.
Modèles pris en charge
Le tableau suivant décrit les modèles fournis par Fully managed Flink et leurs cas d'utilisation. Pour les dernières informations, reportez-vous à la console.
|
Catégorie |
Nom du modèle |
Cas d'utilisation |
|
Modèles de base |
Create Table |
Utilisez une instruction DDL pour créer une table et l'enregistrer dans un catalogue. |
|
Create Temporary Table |
Utilisez une table temporaire si vous n'avez besoin de la table que dans la session actuelle ou le script SQL. |
|
|
Create Temporary View |
Utilisez une vue temporaire pour simplifier le développement SQL Flink en réutilisant le code ou en organisant des requêtes longues et des scripts SQL. |
|
|
INSERT INTO |
Pour écrire les résultats d'une requête dans une table d'un système de stockage externe destiné aux applications en aval, utilisez la syntaxe INSERT INTO. |
|
|
STATEMENT SET |
Pour envoyer les résultats d'une requête vers deux systèmes en aval ou plus, utilisez la syntaxe STATEMENT SET. |
|
|
Watermark |
Utilisez les watermarks pour garantir que Flink gère correctement les données désordonnées. Définissez un watermark dans la DDL d'une table en appliquant une expression de génération sur un champ existant, ce qui le marque comme attribut d'heure d'événement. Pour plus d'informations, consultez Heure d'événement et watermarks. |
|
|
Agrégation et analyse |
GROUP BY |
Pour effectuer une agrégation et une analyse en temps réel, utilisez l'instruction GROUP BY. |
|
Tumbling window aggregation |
Pour regrouper des données de séries chronologiques et exécuter des agrégations au sein de chaque groupe, utilisez une fenêtre de bascule (tumbling window). |
|
|
Sliding window aggregation |
Pour mettre à jour les données dans une fenêtre à intervalles réguliers, utilisez une fenêtre glissante (sliding window). |
|
|
Cumulative window aggregation |
Pour afficher les résultats de la fenêtre plus tôt, par exemple pour voir le dernier résultat de la fenêtre toutes les minutes, utilisez une fenêtre cumulative (cumulative window). Remarque
L'utilisation d'une fenêtre cumulative avec CDC déclenche une erreur de validation de syntaxe : |
|
|
Session window aggregation |
Pour analyser en temps réel les données générées par les utilisateurs pendant une session active, utilisez une fenêtre de session (session window). |
|
|
Over window aggregation |
Pour exécuter une analyse statistique sur chaque élément dans une fenêtre, utilisez une fenêtre over (over window). |
|
|
Cascading window aggregation |
Pour agréger des données provenant du même flux selon différentes dimensions temporelles, telles que 1 minute, 5 minutes, 30 minutes et 1 heure, utilisez une fenêtre en cascade (cascading window). |
|
|
Modèle de déduplication |
Déduplication |
Pour supprimer les enregistrements en double d'un flux de données, utilisez la syntaxe de déduplication. |
|
Modèles Top-N |
Top-N |
Pour trouver les N enregistrements supérieurs ou inférieurs en fonction des exigences métier, utilisez la syntaxe Top-N. |
|
Window Top-N |
Pour trouver les N enregistrements supérieurs ou inférieurs dans une plage de temps spécifique, utilisez la syntaxe Window Top-N. |
|
|
Modèle CEP |
Traitement d'événements complexes (CEP) |
Pour rechercher une séquence de motifs d'événements dans un flux de données, utilisez la syntaxe |
|
Modèles de jointure |
Regular join |
Pour enrichir un flux en le joignant avec des données d'autres flux, utilisez une jointure régulière (regular join). |
|
Interval join |
Pour joindre des enregistrements de deux flux qui se situent dans un intervalle de temps spécifié, utilisez une jointure d'intervalle (interval join). |
|
|
Temporal join |
Pour joindre chaque enregistrement d'un flux de données avec les données versionnées correspondantes dans une table temporelle, utilisez une jointure temporelle (temporal join). |
|
|
Lookup join |
Pour joindre un flux de données avec une table de dimension statique, utilisez une jointure de recherche (lookup join). |
Procédure
Cette rubrique utilise le modèle Create Table pour illustrer l'utilisation des modèles de code.
Connectez-vous à la console Realtime Compute for Apache Flink.
Cliquez sur Console dans la colonne Actions pour l'espace de travail cible.
Sur la page , cliquez sur New.
-
Sous l'onglet SQL Basic Template, double-cliquez sur le nom du modèle cible ou sélectionnez le modèle cible et cliquez sur Next en bas à droite.
Les modèles SQL de base disponibles incluent Blank Streaming Job Draft, Blank Batch Job Draft (BETA), Create Table, Create Temporary Table, Create Temporary View et INSERT INTO.
-
Selon vos besoins, modifiez les champs Name, Location, Engine Version et le code SQL.
Par exemple, sélectionnez
vvr-6.0.6-flink-1.15pour Engine Version, saisissez l'instructionCREATE TABLE orders (order_uid BIGINT, product_id BIGINT, price DECIMAL(32,2), order_time TIMESTAMP(3)) WITH ('connector' = 'datagen')dans l'éditeur SQL, puis cliquez sur Create. -
Cliquez sur Create.
Les opérations suivantes sont identiques au processus standard de développement de jobs. Pour plus de détails, consultez Carte de développement de jobs.