Ce document décrit les principales mises à jour des fonctionnalités et les corrections de bugs apportées à la version de Realtime Compute for Apache Flink publiée le 29 mai 2024.
Le déploiement de cette mise à niveau s'effectue par étapes dans toutes les régions, selon une stratégie de déploiement progressif (canary release). Pour connaître le calendrier spécifique, consultez la dernière annonce affichée sur le côté droit de la console Realtime Compute for Apache Flink. Si les nouvelles fonctionnalités ne sont pas encore disponibles, cela signifie que la mise à niveau n'a pas atteint votre compte. Pour accélérer le processus, soumettez un ticket ; nous prendrons les dispositions nécessaires selon vos besoins.
Présentation
Le 29 mai 2024, une nouvelle version de Realtime Compute for Apache Flink a été officiellement publiée. Elle intègre des mises à niveau de la plateforme et du moteur, des mises à jour des connecteurs, des optimisations des performances ainsi que des corrections de bugs.
Mises à jour de la plateforme
Les mises à jour de la plateforme visent à améliorer la stabilité du système, les capacités opérationnelles et la facilité d'utilisation.
Vous pouvez désormais convertir un namespace d'une zone de disponibilité unique vers une configuration multi-zones. Cette évolution supprime la nécessité de créer un nouveau namespace et de migrer les déploiements, simplifiant considérablement l'activation de la haute disponibilité multi-zones.
Il est maintenant possible de configurer la durée de vie (TTL) de l'état pour des opérateurs individuels en mode expert de configuration des ressources. Cette option offre un contrôle plus granulaire de la TTL de l'état par opérateur, garantissant une stabilité accrue avec moins de ressources.
L'extension Realtime Compute for Apache Flink pour Visual Studio Code est désormais disponible. Elle prend en charge un flux de travail de développement local de bout en bout pour les déploiements Flink, couvrant le développement, le déploiement et la mise en production. Vous pouvez également synchroniser rapidement les déploiements depuis votre environnement en ligne.
Par ailleurs, la lignée des données et la page Deployments ont fait l'objet d'optimisations supplémentaires.
Mises à jour du moteur
Cette version introduit officiellement Ververica Runtime (VVR) 8.0.7, un moteur Flink de qualité entreprise basé sur Apache Flink 1.17.2. Les principaux changements incluent :
Data lakehouse en temps réel : Le SDK du connecteur Apache Paimon est mis à niveau pour prendre en charge le format de data lake d'Apache Paimon 0.9.
Améliorations SQL : Vous pouvez désormais utiliser des indications de durée de vie (TTL) de l'état pour définir des TTL individuelles pour les opérateurs de jointure régulière et d'agrégation par groupe, offrant ainsi un contrôle plus précis de la taille de l'état. La prise en charge des paramètres nommés pour les fonctions définies par l'utilisateur (UDF) améliore l'efficacité du développement et réduit les coûts de maintenance.
-
Connecteurs : Le connecteur MongoDB est désormais généralement disponible (GA) et prêt pour une utilisation en production. Il offre des fonctionnalités complètes pour les tables source Change Data Capture (CDC), les tables de dimension et les tables de résultats . Cette version inclut également des améliorations significatives pour les connecteurs MySQL CDC et Redis :
-
MySQL CDC :
La colonne virtuelle
op_typeest désormais prise en charge pour récupérer le type d'opération de données (+I, +/-U, -D) d'un enregistrement de modification. Cela vous permet de concevoir une logique métier et des stratégies de nettoyage des données basées sur le type d'opération spécifique.Les performances de lecture sont optimisées pour les tables MySQL dont les clés primaires sont de type
DECIMAL. De plus, le traitement desSourceRecord(enregistrements de modification de données) dans les grandes tables est désormais parallélisé pour améliorer l'efficacité.La fonctionnalité de réutilisation de source est introduite. Lorsqu'elle est activée, Flink tente de fusionner les tables source MySQL CDC au sein du même déploiement qui partagent des configurations identiques (à l'exception du nom de la base de données, du nom de la table et de
server-id). Cela réduit la charge de connexion et d'écoute sur le serveur MySQL.Lorsque le paramètre
sink.ignore-null-when-updateest activé, l'exécution tamponnée améliore les performances de traitement de plusieurs ordres de grandeur.
Redis : Lorsque Redis est utilisé pour les tables de dimension et les tables de résultats où le type de données de la clé est
HashMap, plusieurs formats DDL pour les clés non primaires sont désormais pris en charge pour une meilleure lisibilité. Vous pouvez également définir des préfixes de clé et des délimiteurs pour répondre aux exigences de gouvernance des données.
-
Gestion des métadonnées : Étant donné qu'une vue MySQL est une structure logique qui ne prend pas en charge les opérations de lecture/écriture de données, les informations sur les vues ne sont plus affichées pour les nouveaux Catalogs MySQL afin d'éviter les erreurs de données.
Sécurité : La compatibilité pour les clusters Hive avec Kerberos activé est étendue aux versions Hadoop 2.x. De plus, les informations sensibles telles que les configurations des connecteurs sont désormais masquées dans les journaux.
Pour plus de détails sur les principales fonctionnalités de cette version et leur documentation associée, reportez-vous au tableau ci-dessous. La mise à niveau sera déployée par étapes. Une fois la mise à niveau terminée pour votre compte, nous vous encourageons à mettre à niveau le moteur de votre déploiement vers cette version. Pour obtenir des instructions, consultez Mettre à niveau la version du moteur d'un déploiement. Nous attendons vos retours avec intérêt.
Fonctionnalités clés
|
Fonctionnalité |
Description |
Références |
|
Améliorations de la haute disponibilité multi-zones |
Vous pouvez désormais basculer un namespace entre les types à zone de disponibilité unique et multi-zones. |
|
|
Améliorations de la lignée des données |
La lignée des données au niveau des champs prend désormais en charge la recherche par nom de champ. Lorsque plusieurs résultats sont trouvés, utilisez les touches fléchées Haut et Bas pour basculer entre eux, ce qui facilite la localisation et la consultation des informations de lignée des champs. |
Afficher la lignée des données en recherchant un nom de nœud ou de champ |
|
Ajout de la colonne Créateur à la page Deployments |
Sur la page Deployments, cliquez sur l'icône
|
S.O. |
|
Améliorations de la gestion des autorisations |
Par défaut, l'identité (telle qu'un compte Alibaba Cloud, un utilisateur RAM ou un rôle RAM) qui crée un espace de travail reçoit le rôle Owner pour tous les namespaces qu'il contient. |
|
|
Améliorations de la vérification de compatibilité de l'état pour le démarrage avec état des déploiements SQL |
Lorsque vous démarrez un déploiement à partir du dernier état, le système Flink détecte les éventuelles modifications. Si des modifications sont détectées, nous vous recommandons de cliquer sur Click to detect à côté de State Compatibility pour vérifier la compatibilité et décider de la suite à donner en fonction des résultats. |
|
|
Extension VS Code pour le développement local |
La nouvelle extension fournit un flux de travail de développement local de bout en bout pour les déploiements Flink. Elle vous aide à développer, déployer et lancer facilement des déploiements SQL, JAR et Python localement. Vous pouvez également synchroniser rapidement les déploiements depuis l'environnement en ligne. |
|
|
TTL de l'état au niveau de l'opérateur |
Dans les scénarios où seuls certains opérateurs nécessitent une longue durée de vie (TTL) de l'état, la définition d'une TTL unique pour l'ensemble du déploiement peut entraîner un gonflement de l'état et un gaspillage de ressources. Utilisez l'une des méthodes suivantes pour définir des TTL au niveau de l'opérateur, afin de contrôler plus précisément la taille de l'état et d'économiser des ressources sur les déploiements avec de grands états :
|
|
|
Prise en charge des paramètres nommés pour les UDF |
Améliore l'efficacité du développement et réduit les coûts de maintenance. |
|
|
Améliorations du connecteur MySQL CDC |
|
|
|
Améliorations du connecteur Redis |
|
|
|
Lecture tamponnée pour ApsaraMQ for RocketMQ |
Cette fonctionnalité améliore l'efficacité du traitement et réduit les coûts des ressources. |
|
|
Les vues ne sont plus prises en charge dans les Catalogs MySQL |
Étant donné qu'une vue MySQL est une structure logique et ne stocke pas de données, les informations sur les vues ne sont plus affichées pour les nouveaux Catalogs MySQL. |
|
|
Prise en charge améliorée des clusters Hive avec Kerberos |
La compatibilité pour les clusters Hive avec Kerberos activé est étendue à Hadoop 2.x. |
|
|
Mise à niveau du SDK du connecteur Iceberg |
Prend en charge la lecture et l'écriture d'Apache Iceberg 1.5. |
Problèmes corrigés
Correction d'un problème d'exactitude des données causé par la propagation de la clause
WHEREdans le connecteur Hologres dans les versions 8.0.5 et 8.0.6 de Ververica Runtime (VVR).Correction d'un problème de perte de données dans le connecteur Simple Log Service (SLS) survenu lors d'un basculement, car la table source SLS continuait à valider les données au niveau de l'offset du consommateur.
Correction d'un problème où
ValueStateperdait son état lorsqu'il était utilisé conjointement avec unMapStateayant une TTL configurée, alors queValueStatelui-même n'en avait pas.Correction des résultats de désérialisation incohérents pour
WithinType.PREVIOUS_AND_CURRENTdans le traitement complexe d'événements (CEP) dynamique.Correction d'une divergence de la métrique
currentEmitEventTimeLagentre la page de surveillance de la console et l'interface utilisateur Flink.Correction de tous les problèmes d'Apache Flink 1.17.2. Pour plus de détails, consultez l'annonce de publication d'Apache Flink 1.17.2.