Déboguez les brouillons SQL pour vérifier votre logique métier sans écrire de données dans les récepteurs de production. Aucune donnée n'atteint les systèmes en aval pendant une session de débogage, quel que soit le type de table de réception.
Le débogage vous permet de :
Tester des instructions SELECT ou INSERT avec des données amont en direct ou des données de test que vous fournissez.
Valider des jobs contenant plusieurs instructions SELECT ou INSERT.
Vérifier les requêtes UPSERT, y compris les instructions comportant des opérations de mise à jour telles que
count(*).
Limites
Seuls les jobs SQL sont pris en charge.
Les instructions CREATE TABLE AS SELECT (CTAS) et CREATE DATABASE AS (CDAS) ne sont pas prises en charge.
Flink s'interrompt par défaut après la lecture de 1 000 enregistrements.
Chaque session de débogage est limitée à 3 minutes.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Un espace de travail Realtime Compute for Apache Flink à l'état Running
Un brouillon SQL contenant des instructions SQL valides sur la page ETL
Des permissions suffisantes pour créer des clusters de session et exécuter des tâches de débogage
Étape 1 : Créer un cluster de session
Le débogage s'exécute sur un cluster de session, conçu uniquement pour le développement et les tests. N'utilisez pas de clusters de session en production.
Dans la console Flink, ouvrez votre espace de travail.
Cliquez sur Create Session Cluster.
Configurez les paramètres décrits dans les sections suivantes, puis cliquez sur Create Session Cluster.
Standard
|
Parameter |
Description |
|
Name |
Le nom du cluster de session. |
|
Deployment Target |
La file d'attente de ressources pour le cluster de session. Pour plus d'informations, consultez Gérer les files d'attente. |
|
State |
L'état souhaité après la création. RUNNING : le cluster démarre immédiatement. STOPPED : le cluster est créé mais ne démarre pas. |
|
Scheduled Session Management |
Arrête automatiquement le cluster lorsqu'aucun job n'est exécuté pendant une période spécifiée, évitant ainsi le gaspillage de ressources dû aux clusters inactifs. |
|
Labels |
Libellés permettant de filtrer les jobs sur la page Overview. |
Configuration
|
Parameter |
Description |
|
Engine Version |
La version du moteur VVR. Sélectionnez une version Recommended ou Stable. Pour plus de détails, consultez Versions du moteur et Politiques de cycle de vie. |
|
Flink Restart Policy |
Le comportement de redémarrage en cas d'échec d'une tâche.
Si elle n'est pas configurée, la stratégie par défaut s'applique : le JobManager ne redémarre pas en cas d'échec de tâche lorsque la prise de points de contrôle (checkpointing) est désactivée, mais il redémarre lorsque celle-ci est activée. |
|
Other Configuration |
Entrées de configuration Flink supplémentaires (par exemple, |
Ressources
|
Parameter |
Description |
|
Number of TaskManagers |
Par défaut, cette valeur est égale au parallélisme. |
|
JobManager CPU Cores |
Valeur par défaut : 1. |
|
JobManager Memory |
Minimum : 1 Go. Recommandé : 4 Go. |
|
TaskManager CPU Cores |
Valeur par défaut : 2. |
|
TaskManager Memory |
Minimum : 1 Go. Recommandé : 8 Go. |
Recommandations relatives au dimensionnement des slots :
|
Workload |
vCPU per slot |
Memory per slot |
|
Petits jobs (parallélisme de 1) |
1 |
2 Go |
|
Jobs complexes |
1 |
4 Go |
Commencez avec la configuration par défaut de 2 slots par TaskManager.
Si un seul TaskManager dispose de trop peu de ressources, la stabilité du job se dégrade et la surcharge du TaskManager ne peut pas être partagée entre les slots. Si un seul TaskManager dispose de trop de ressources, une panne de ce TaskManager affecte simultanément de nombreux jobs.
Journalisation
|
Parameter |
Description |
|
Root Log Level |
Niveaux de journalisation par ordre croissant de gravité : TRACE, DEBUG, INFO, WARN, ERROR. |
|
Log Levels |
Le nom de la classe et le niveau de journal. |
|
Logging Profile |
Un modèle système ou un modèle personnalisé. |
Pour les options liées à l'intégration de Flink avec des frameworks d'orchestration de ressources tels que Kubernetes et YARN, consultez Frameworks d'orchestration de ressources.
Après avoir créé le cluster de session, vous pouvez le sélectionner sur la page ETL lors du démarrage d'une session de débogage.
Étape 2 : Déboguer le brouillon SQL
Sur la page ETL, rédigez ou ouvrez le code SQL de votre job. Pour plus d'informations, consultez Aperçu du développement de jobs.
Cliquez sur Debug . Sélectionnez un cluster de session, puis cliquez sur Next .
-
Configurez la source de données de test :
Live data : pour utiliser des données amont en direct, cliquez sur Confirm sans effectuer de modifications.
Test data : pour utiliser des données de test, cliquez sur Download mock data template afin d'obtenir un modèle CSV correspondant au schéma de votre table source. Remplissez le modèle, téléchargez-le, puis sélectionnez Use mock data .
Option
Description
Download mock data template
Télécharge un modèle CSV correspondant au schéma de la table source.
Upload mock data
Téléchargez un fichier CSV contenant des données de test. Le fichier doit inclure une ligne d'en-tête (par exemple,
id(INT)). Taille maximale du fichier : 1 Mo ou 1 000 enregistrements.Data Preview
Après avoir téléchargé les données de test, cliquez sur l'icône d'extension (+) à côté du nom de la table source pour prévisualiser les données.
Code preview
Affiche les instructions DDL modifiées. Le débogage modifie automatiquement les instructions DDL des tables sources et de réception, mais ne change pas votre code de job réel.
Cliquez sur OK . Les résultats du débogage s'affichent sous l'éditeur SQL.
Dépannage
|
Issue |
Cause |
Solution |
|
Le bouton Debug est grisé |
Aucun cluster de session n'est en cours d'exécution |
Créez et démarrez un cluster de session dans . |
|
Délai d'expiration de la session de débogage |
Chaque session est limitée à 3 minutes |
Simplifiez la requête ou réduisez le volume des données d'entrée. |
|
Les résultats du débogage sont vides |
La table source ne contient aucune donnée ou les données de test sont invalides |
Vérifiez l'aperçu des données. Si vous utilisez des données de test, contrôlez le format CSV et la ligne d'en-tête. |
|
Délai d'expiration du signal de présence du cluster de session |
Trop de jobs s'exécutent sur le cluster |
Réduisez le nombre de jobs concurrents ou augmentez l'intervalle et le délai d'expiration des signaux de présence. |
|
Sortie de débogage inattendue |
La modification automatique des DDL n'est pas visible |
Consultez l'aperçu du code de débogage via Debug code preview pour voir les instructions DDL modifiées. |
Étapes suivantes
Pour déployer un job après le développement ou le débogage, consultez Déployer un job .
Après avoir déployé un job, consultez Démarrer un déploiement .
Pour une présentation complète du workflow Flink SQL, consultez Guide de démarrage rapide pour les jobs Flink SQL .