Apache Flink est un framework de traitement de flux open source développé par Apache Software Foundation. Son cœur est un moteur de flux de données de streaming distribué écrit en Java et Scala. Flink exécute des programmes de données en streaming arbitraires de manière parallèle et en pipeline. Le système d'exécution de pipeline de Flink peut exécuter des programmes de traitement par lots et en flux. De plus, le runtime de Flink lui-même prend également en charge l’exécution d’algorithmes itératifs.
Flink fournit un moteur de données de streaming à haut débit et à faible latence, ainsi qu'une prise en charge du traitement au moment des événements et de la gestion de l'état. Les applications Flink sont tolérantes aux pannes en cas de panne de machine et prennent en charge la sémantique unique. Les programmes peuvent être écrits dans des langages tels que Java, Scala [9], Python [9] et SQL, et sont automatiquement compilés et optimisés dans des programmes de flux de données qui s'exécutent dans un environnement cluster ou cloud.
Flink ne fournit pas son propre système de stockage de données, mais fournit des sources et des récepteurs de données pour des systèmes tels qu'Amazon Kinesis, Apache Kafka, HDFS, Apache Cassandra et ElasticSearch.
Le modèle de programmation de flux de données d'Apache Flink permet un traitement événement par événement sur des ensembles de données finis et infinis. À la base, les programmes Flink se composent de flux et de transformations. "Conceptuellement, un flux est un enregistrement (éventuellement sans fin) d'un flux de données, et une transformation est une opération qui prend un ou plusieurs flux en entrée et produit donc un ou plusieurs flux de sortie".
Apache Flink comprend deux API principales : l'API Dataflow pour les flux de données limités ou illimités et l'API Dataset pour les ensembles de données limités. Flink fournit également une API de table, un langage d'expression de type SQL pour le streaming relationnel et le traitement par lots qui peut être facilement intégré aux API de flux de données et d'ensembles de données de Flink. Le langage de plus haut niveau pris en charge par Flink est SQL, qui est sémantiquement similaire à l'API de table et représente les programmes sous forme d'expressions de requête SQL.
Pour plus de connaissances sur Apache, veuillez visiter la colonne Tutoriel d'utilisation d'Apache !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!