我需要开始一个新项目,并且我不知道Spark还是Flink会更好。当前,该项目需要微批量处理,但后来可能还需要流事件处理。
假设Spark最好,使用Beam代替并选择Spark / Flink作为转轮/引擎是否有任何不利之处?
Beam是否会增加开销或缺少Spark / Flink中可用的某些API /功能?
答案 0 :(得分:0)
要回答部分问题:
首先,Beam定义API进行编程以进行数据处理。要采用它,您必须首先了解其编程模型,并确保其模型符合您的需求。
假设您已经相当了解Beam可以为您提供什么帮助,并且您打算选择Spark作为执行运行器,则可以检查运行器功能矩阵[1]以获取Spark上的Beam API支持。
关于运行Beam over Spark的开销。您可能需要在user@beam.apache.org或dev@beam.apache.org中询问。 Runner开发人员可能对此有更好的答案。
[1] https://beam.apache.org/documentation/runners/capability-matrix/