我需要开始一个新项目,我不知道Spark或Flink是否会更好。目前,该项目需要微批处理,但后来也需要流事件处理。
假设Spark是最好的,使用Beam代替选择Spark / Flink作为跑步者/引擎有什么不利吗?
Beam会增加任何开销或缺少Spark / Flink中可用的某些API /函数吗?
回答你的部分问题:
首先,Beam定义了API来编程以进行数据处理。要采用它,您必须首先了解其编程模型,并确保其模型符合您的需要。
假设您已经相当了解Beam可以帮助您,并且您计划选择Spark作为执行运行程序,则可以检查Spark上的Beam API支持的运行程序功能矩阵[1]。
关于运行Beam over Spark的开销。您可能需要在[email protected]或[email protected]上询问。跑步者开发者可以有更好的答案。
[1] https://beam.apache.org/documentation/runners/capability-matrix/