Les indications (hints) Flink SQL vous permettent d'influencer manuellement la génération du plan d'exécution au niveau de la requête, sans modifier les définitions des tables ni les paramètres de déploiement. Utilisez-les lorsque les décisions par défaut de l'optimiseur ne correspondent pas aux exigences de performance ou de ressources de votre charge de travail.
Trois catégories d'indications sont disponibles pour les jobs en streaming :
| Type d'indication | S'applique à | Version minimale |
|---|---|---|
| Options de table dynamique | Streaming | VVR 4.x |
| Indications de jointure de recherche (Lookup join) | Streaming | — |
| Indications TTL d'état | Streaming | VVR 8.0.7 (agrégation de groupe) ; VVR 8.0.1 (jointure régulière) |
Pour la spécification complète de la syntaxe, consultez la page Indications SQL.
Options de table dynamique
Les options de table dynamique vous permettent de spécifier ou de remplacer les options de connecteur et de format dans le périmètre d'une seule requête, sans modifier la définition de la table sous-jacente.
Pour la syntaxe et des exemples d'utilisation, consultez la section Options de table dynamique.
Indications de jointure de recherche (Lookup join)
Les indications de jointure de recherche contrôlent la stratégie d'exécution de la recherche, le mode asynchrone, la mise en cache et le comportement de nouvelle tentative pour les jointures avec des tables de dimension.
Pour la syntaxe, les options disponibles et des exemples, consultez la rubrique Indications JOIN pour les tables de dimension.
Indications TTL d'état
Les indications de durée de vie (TTL) d'état vous permettent de définir différentes valeurs de TTL pour des opérateurs avec état individuels au sein d'une même requête. Cela réduit la taille de l'état par opérateur et améliore la stabilité du système.
Les indications TTL d'état s'appliquent à deux types d'opérateurs :
| Opérateur | VVR 8.0.7 et versions ultérieures | VVR 8.0.6 et versions antérieures |
|---|---|---|
| Jointure régulière | Indications TTL d'état + indications pour jointure régulière | Indications pour jointure régulière uniquement |
| Agrégation de groupe | Indications TTL d'état | Non pris en charge |
Configurer le TTL d'état
Trois méthodes permettent de configurer le TTL d'état. Elles s'appliquent selon l'ordre de priorité suivant :
Mode expert > Indications TTL d'état > Paramètre de déploiement
| Méthode | Périmètre | Configuration |
|---|---|---|
| Mode expert | Par opérateur, sur plusieurs déploiements | Consultez la rubrique Configurer le parallélisme des opérateurs, la politique de chaînage et le TTL d'état |
| Indications TTL d'état | Par opérateur, au sein d'une requête | Indication inline /*+ STATE_TTL(...) */ |
| Paramètre de déploiement | Déploiement entier | Définissez table.exec.state.ttl — consultez la section table.exec.state.ttl |
Utilisez les indications TTL d'état pour contrôler le TTL au niveau de la requête sans modifier la configuration de déploiement. Recourez au mode expert lorsque les mêmes paramètres par opérateur s'appliquent à plusieurs déploiements.