Apache Flink 2.1.0: L'IA Intégrée pour la Décision en Temps Réel Révolutionne
Le Comité de gestion de projet (PMC) d'Apache Flink a annoncé la sortie d'Apache Flink 2.1.0, une mise à niveau significative de son moteur de traitement de données en temps réel. Cette dernière version introduit un support robuste pour la définition, la gestion et l'invocation de modèles d'IA en temps réel, jetant les bases de workflows d'IA de bout en bout et en temps réel.
Une caractéristique centrale de Flink 2.1.0 est l'amélioration de ses capacités d'IA. Les utilisateurs peuvent désormais définir et gérer des modèles d'IA de manière programmatique via l'API de table Model DDL (Data Definition Language), disponible pour Java et Python. Cela offre une approche flexible, basée sur le code, pour intégrer et gérer des modèles au sein des applications Flink. En complément, la fonction à valeur de table ML_PREDICT
a été étendue, permettant une inférence de modèle en temps réel et transparente directement dans les requêtes SQL. Cela permet d'appliquer des modèles d'apprentissage automatique aux flux de données dès leur arrivée. L'implémentation prend en charge les fournisseurs de modèles intégrés de Flink, tels qu'OpenAI, et offre des interfaces permettant aux utilisateurs de définir des fournisseurs de modèles personnalisés, marquant un virage stratégique pour Flink vers une plateforme d'IA unifiée en temps réel.
Au-delà de l'intégration de l'IA, Apache Flink 2.1 introduit les Process Table Functions (PTF), décrites par le PMC comme le type de fonction le plus puissant pour Flink SQL et l'API de table. Les PTF servent de sur-ensemble de toutes les autres fonctions définies par l'utilisateur, capables de mapper zéro, une ou plusieurs tables d'entrée à zéro, une ou plusieurs lignes de sortie. Cette fonctionnalité permet aux utilisateurs d'implémenter des opérateurs personnalisés sophistiqués qui peuvent rivaliser avec la richesse des fonctionnalités des opérations intégrées, les PTF ayant accès à l'état géré de Flink, au traitement de l'heure des événements, aux journaux de modification de table et aux services de minuterie.
Un autre ajout notable dans Flink 2.1 est le type de données VARIANT
, conçu pour améliorer la gestion des données semi-structurées comme JSON. Ce nouveau type permet de stocker n'importe quelle donnée semi-structurée, y compris les tableaux, les cartes (avec des clés de chaîne) et les types scalaires, tout en préservant les informations de type de champ dans une structure de type JSON. Contrairement aux types ROW
et STRUCTURED
, VARIANT
offre une flexibilité supérieure pour la gestion des schémas profondément imbriqués et évolutifs. Les utilisateurs peuvent convertir des données de chaîne au format JSON en VARIANT
à l'aide des fonctions PARSE_JSON
ou TRY_PARSE_JSON
.
Les améliorations supplémentaires dans Apache Flink 2.1 incluent :
- L'introduction d'un opérateur
DeltaJoin
pour les travaux de traitement de flux, accompagné d'optimisations pour des pipelines de jointure de flux plus simples. - Prise en charge ajoutée du format binaire Smile pour les plans compilés, offrant une alternative économe en mémoire à JSON pour la sérialisation et la désérialisation.
- Un nouveau mécanisme de traitement par lots enfichable pour Async Sink au moment de l'exécution, permettant aux utilisateurs de définir des stratégies d'écriture par lots personnalisées adaptées à des exigences spécifiques.
- Un nouveau connecteur pour l'état clé, qui permet aux utilisateurs d'interroger l'état clé directement à partir d'un point de contrôle ou d'un point de sauvegarde à l'aide de Flink SQL. Cela simplifie le processus d'inspection, de débogage et de validation de l'état des travaux Flink sans nécessiter d'outils personnalisés.
Ces mises à jour renforcent collectivement la position d'Apache Flink en tant que moteur de traitement de données en temps réel de premier plan, avec désormais des capacités considérablement étendues pour les applications basées sur l'IA et une flexibilité améliorée pour divers types de données et besoins opérationnels.