8 changements révolutionnaires dans Apache Flink 1.0.0

#

 

Apache Flink est une plateforme open source pour le traitement distribué de données en flux et par lots. Le cœur de Flink est un moteur de flux de données en continu qui assure la distribution des données, la communication et la tolérance aux pannes pour les calculs distribués sur les flux de données. Flink construit également le traitement par lots au-dessus du moteur de streaming, en superposant le support natif des itérations, la mémoire gérée et l’optimisation des programmes.

La communauté Apache Flink est heureuse d’annoncer la disponibilité de la version 1.0.0. La communauté a déployé des efforts considérables pour améliorer et étendre Apache Flink depuis la dernière version, en se concentrant sur l’amélioration de l’expérience de l’écriture et de l’exécution de pipelines de traitement de flux de données en production.

Et la version 1.0.0 a introduit un changement de rupture d’API et Apache Flink avait de nombreuses fonctionnalités cool & ; passionnantes,

 

DataStream API

Suppression de la partition ByHash. 

Utilisez keyBy à la place.

API Scala : paramètres de pliage changés. Le partitionneur de hachages brouille les hachages actuels avec le hachage de murmure. Cela pourrait casser les programmes s’appuyant sur la sortie du hachage.

 

DataSet API

Anotation combinable supprimée. Implémentez une GroupReduceFunction<IN, OUT> ; combinable en implémentant une interface CombineFunction<IN, IN> ; ou GroupCombineFunction<IN, IN> ; dans la GroupReduceFunction.

 

Gelly

La méthode de bibliothèque LabelPropagation prend désormais en charge tout type d’étiquette Comparable. Auparavant, elle attendait une valeur Long, de sorte que les utilisateurs doivent désormais spécifier un paramètre de type supplémentaire lorsqu’ils appellent la méthode.Le modèle centré sur les sommets de Gelly a été renommé en scatter-gather. Les méthodes runVertexCentricIteration() de Graph ont été renommées en runScatterGatherIteration() et VertexCentricConfiguration a été renommée en ScatterGatherConfiguration.

 

Scripts de démarrage/arrêt

Les scripts ./bin/start-webclient.sh et ./bin/stop-webclient.sh ont été supprimés. Le webclient est maintenant inclus dans le tableau de bord web de Flink et activé par défaut. Il peut être désactivé en configurant jobmanager.web.submit.enable : false dans ./conf/flink-conf.yaml.

 

Compatibilité ascendante:

Flink 1.0 supprime l’obstacle de la modification du code de l’application lorsque Flink sort de nouvelles versions. C’est énorme pour les utilisateurs de production qui veulent maintenir leur logique métier et leurs applications tout en bénéficiant de manière transparente des nouveaux correctifs de Flink.

 

Fonctionnalités opérationnelles:

Flink en se targue désormais de capacités de surveillance très avancées (cette version ajoute la surveillance de la contre-pression, les statistiques des points de contrôle et la possibilité de soumettre des travaux via l’interface web). Cette version ajoute également les points de sauvegarde, une fonctionnalité essentielle (et unique dans le monde open source) qui permet aux utilisateurs de mettre en pause et de reprendre les applications sans compromettre la correction et la continuité des résultats.

 

Testé en situation de combat:

Flink est par maintenant utilisé en production à la fois dans de grandes entreprises tech et Fortune Global 500. Une équipe de Twitter a récemment chronométré Flink à 15 millions d’événements par seconde dans un cluster modéré.

 

Intégré:

Flink a toujours été intégré aux outils open source les plus populaires, tels que Hadoop (HDFS, YARN), Kafka (cette version ajoute le support complet de Kafka 0.9), HBase, et autres. Flink dispose également de paquets de compatibilité et de runners, de sorte qu’il peut être utilisé comme moteur d’exécution pour les programmes écrits en MapReduce, Apache Storm, Cascading et Apache Beam (en incubation).