什么是Apache Beam? [关闭]

Viswa 02/08/2016. 2 answers, 11.776 views
apache-beam

我正在浏览Apache帖子,发现了一个名为Beam的新术语。 任何人都可以解释Apache Beam究竟是什么? 我试图谷歌,但无法得到一个明确的答案。

2 Comments
3 Jens 02/08/2016
3 Joel 02/10/2016
最接近它的是Spark(Both Batch和Streaming)。 以下是Apache Beam(之前称为Google DataFlow)与Spark处理cloud.google.com/dataflow/blog / ...之间的良好比较。

2 Answers


Frances 01/10/2017.

Apache Beam是一个开源的统一模型,用于定义和执行批处理和流数据并行处理管道,以及一组特定于语言的SDK,用于构造管道和运行时特定的Runner以执行它们。

History: Beam背后的模型是从许多内部Google数据处理项目演变而来的,包括MapReduceFlumeJavaMillwheel 。 该模型最初被称为“ 数据流模型 ”,最初实现为Google Cloud Dataflow--包括用于编写管道的GitHub上Java SDK和用于在Google Cloud Platform上执行它们的完全托管服务。 社区中的其他人开始编写扩展,包括Spark RunnerFlink RunnerScala SDK 。 2016年1月,Google和许多合作伙伴以Apache Beam(统一批量+ strEAM处理)的名义提交了数据流编程模型和SDK部分作为Apache孵化器提案 。 Apache Beam于2016年12月从孵化中毕业

学习梁模型的其他资源:

2 comments
Minudika 02/28/2016
嗨,我正在关注这个问题.apache.org/jira/browse/ZEPPELIN-682已经为GSOC 2016提供了帮助。你能给我一些资源来熟悉Apache Beam吗? 谢谢
Pierre Mage 02/28/2016
@Minudika Apache Beam Java SDK可能在2016年3月至5月之前和2016年夏季之前的Python SDK中不可用。您应该从那里开始: mail-archives.apache.org/mod_mbox/incubator-beam-dev / ...

nealmcb 06/21/2017.

Apache Beam (Batch + strEAM)是用于执行批处理和流数据处理的模型和API集。 它是由Google(Cloudera和PayPal)于2016年通过Apache孵化器项目开源的。

页面数据流/波束与火花:编程模型比较 - 云数据流将Beam API与Apache Spark进行了对比,后者在为Hadoop世界提供批量和流媒体的现代,灵活的API和优化技术方面取得了巨大的成功。超越。

Beam试图通过一个模型更进一步,这使得很容易描述out-of-order processing的各个方面,这在组合批处理和流处理时经常是一个问题,如Programming Model Comparison

特别是,从比较中引用,Dataflow模型旨在优雅地以更加模块化,健壮且易于维护的方式进行处理:

......所有数据处理从业者在构建管道时必须尝试回答的四个关键问题:

  • 计算结果是什么? 求和,连接,直方图,机器学习模型?
  • 事件时间在哪里计算结果? 每个事件最初发生的时间是否会影响结果? 结果是在固定窗口,会话还是单个全局窗口中聚合的?
  • 在处理时间内是否实现了结果? 在系统中观察每个事件的时间是否会影响结果? 结果何时发出? 推测,随着数据的发展? 数据迟到并且必须修改结果? 这些的一些组合?
  • 结果的细化如何相关? 如果附加数据到达并且结果发生变化,它们是独立的还是不同的,它们是否相互依赖,等等?

Beam中描述的管道可以依次在Spark,Flink,Google的云端数据流产品和其他“运行时”上运行,包括“直接”本地机器选项。

该体系结构支持各种语言。 Java SDK现已上市。 Dataflow Python SDK即将发布,其他人也可以为Scala等设想。

请参阅Apache Beam镜像的来源

Related questions

Hot questions

Language

Popular Tags