Apache Beam
Apache Beam est un modèle de programmation unifiée open source pour définir et exécuter des flux de données, y compris ETL, traitement par lot et en flux (en continu)[4].
Développé par | Apache Software Foundation |
---|---|
Première version | et [1] |
Dernière version |
2.14.0 ()[2] 2.48.0 ()[3] |
DĂ©pĂ´t | github.com/apache/beam |
Écrit en | Java, Python et Go |
Système d'exploitation | Multiplateforme |
Type | Big data |
Licence | Licence Apache version 2.0 |
Site web | beam.apache.org |
Les flux Beam sont définis à l'aide des SDKs et exécutés dans l'un des runners supportés par Beam (back-ends de traitement distribués), y compris Apache Flink, Apache Apex, Apache Samza, Apache Spark et Google Cloud Dataflow[5].
Histoire
Apache Beam[5] est une implémentation du modèle de Dataflow[7]. Le modèle Dataflow est basé sur des travaux antérieurs sur des abstractions de traitements distribués sur Google, en particulier sur FlumeJava[8] et Millwheel[9] - [10].
Google a publié une implémentation SDK ouverte du modèle Dataflow en 2014 et un environnement pour exécuter Dataflows localement (non distribué) ainsi que dans le service Google Cloud Platform.
En 2016, Google a fait don du SDK de base ainsi que de la mise en place d'un runner local et d'un ensemble d'E/S (connecteurs de données) pour accéder aux services de données Google Cloud Platform à l'Apache Software Foundation.
D'autres sociétés et membres de la communauté ont contribué à la mise en place de plates-formes d'exécution distribuées, ainsi qu'à de nouvelles E/S pour les intégrer à Beam Runners aux bases de données existantes, aux bases de données à valeur-clé et aux messages système. En outre, de nouvelles DSL ont été proposées pour prendre en charge des besoins spécifiques sur le modèle Beam.
Le 2017 Apache Beam devient un projet top-level[11].
Version | Date de sortie initiale | La dernière version | Date de sortie |
---|---|---|---|
0.6.0 | 2017-03-11 | 0.6.0 | 2017-03-11 |
0.5.0 | 2017-02-02 | 0.5.0 | 2017-02-02 |
0.4.0 | 2016-12-29 | 0.4.0 | 2016-12-29 |
0.3.0 | 2016-10-31 | 0.3.0 | 2016-10-31 |
0.2.0 | 2016-08-08 | 0.2.0 | 2016-08-08 |
0.1.0 | 2016-06-15 | 0.1.0 | 2016-06-15 |
Références
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Apache Beam » (voir la liste des auteurs).
- « https://projects.apache.org/json/projects/beam.json » (consulté le )
- « Release 2.14.0 », (consulté le )
- « Release 2.48.0 », (consulté le )
- Alex Woodie, « Apache Beam's Ambitious Goal: Unify Big Data Development », sur Datanami, (consulté le )
- « Cloud Dataflow - Batch & Stream Data Processing »
- Ian Pointer, « Apache Beam wants to be uber-API for big data », InfoWorld,
- Tyler Akidau, Eric Schmidt, Sam Whittle et Robert Bradshaw, « The dataflow model », Proceedings of the VLDB Endowment, vol. 8, no 12,‎ , p. 1792–1803 (DOI 10.14778/2824032.2824076, lire en ligne, consulté le )
- Craig Chambers, Ashish Raniwala, Frances Perry et Stephen Adams, « FlumeJava: Easy, Efficient Data-parallel Pipelines », Proceedings of the 31st ACM Sigplan Conference on Programming Language Design and Implementation, ACM,‎ , p. 363–375 (DOI 10.1145/1806596.1806638, lire en ligne, consulté le )
- Tyler Akidau, Sam Whittle, Alex Balikov et Kaya Bekiroğlu, « MillWheel », Proceedings of the VLDB Endowment, vol. 6, no 11,‎ , p. 1033–1044 (DOI 10.14778/2536222.2536229, lire en ligne, consulté le )
- Ian Pointer, « Apache Beam wants to be uber-API for big data », InfoWorld (consulté le )
- https://beam.apache.org/blog/2017/01/10/beam-graduates.html