Aller au contenu

Apache Beam

Un article de Wikipédia, l'encyclopédie libre.
Apache Beam
Description de l'image Beam-logo-full-color-name-right-200-autocrop.png.

Informations
Développé par Apache Software FoundationVoir et modifier les données sur Wikidata
Première version et [1]Voir et modifier les données sur Wikidata
Dernière version 2.60.0 ()[2]Voir et modifier les données sur Wikidata
Dépôt github.com/apache/beamVoir et modifier les données sur Wikidata
Écrit en Java, Python et GoVoir et modifier les données sur Wikidata
Système d'exploitation MultiplateformeVoir et modifier les données sur Wikidata
Type Big dataVoir et modifier les données sur Wikidata
Licence Licence Apache 2.0Voir et modifier les données sur Wikidata
Site web beam.apache.orgVoir et modifier les données sur Wikidata

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)[3].

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[4].

Il a été appelé uber-API pour le big data[5].

Apache Beam[4] est une implémentation du modèle de Dataflow[6]. Le modèle Dataflow est basé sur des travaux antérieurs sur des abstractions de traitements distribués sur Google, en particulier sur  FlumeJava[7] et Millwheel[8],[9].

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[10].


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

[modifier | modifier le code]
  1. « https://projects.apache.org/json/projects/beam.json » (consulté le )
  2. « Release 2.60.0 », (consulté le )
  3. Alex Woodie, « Apache Beam's Ambitious Goal: Unify Big Data Development », sur Datanami, (consulté le )
  4. a et b « Cloud Dataflow - Batch & Stream Data Processing »
  5. Ian Pointer, « Apache Beam wants to be uber-API for big data », InfoWorld,
  6. 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 )
  7. 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 )
  8. 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 )
  9. Ian Pointer, « Apache Beam wants to be uber-API for big data », InfoWorld (consulté le )
  10. « /blog/beam-graduates/ », sur apache.org (consulté le ).