【翻译】Flink和Spark性能对比

发布于:2023-01-05 ⋅ 阅读:(509) ⋅ 点赞:(0)

Benchmark设计

针对一个简单的广告应用。应用涉及广告促销活动业务,每个业务有很多广告数据。
流处理平台需要从kafka读取JSON格式的事件,标识相关事件,按促销业务窗口读取关联事件,并保存到Redis中。
具体操作步骤(和流程图对应):

  1. 从kafka读取事件数据
  2. 反序列化Json字符串
  3. 去除无关联的事件数据(基于事件类型域)
  4. 关联字段投射(广告ID,事件时间)
  5. 依据广告ID查询其促销活动ID(这部分数据从Redis读取),关联广告事件数据
  6. 对每个促销活动开一个窗口,窗口内对事件计数,并将每个窗口计数结果,以及更新时间戳一起存储在 Redis 中。 此步骤要求能够处理迟到的事件。
    流程图

输入数据schema:

• user_id: UUID
• page_id: UUID
• ad_id: UUID
• ad_type: String in {banner, modal, sponsored-search, mail, mobile}
• event_type: String in {view, click, purchase}
• event_time: Timestamp
• ip_address: String

原文链接:

链接: tumblr文章
https://yahooeng.tumblr.com/post/135321837876/benchmarking-streaming-computation-engines-at

吞吐量

• Spark:250万记录单核每秒 (摘自Databricks 报告)
• Flink: 400万记录单核每秒
在这里插入图片描述

原文链接:

链接: ververica文章


网站公告

今日签到

点亮在社区的每一天
去签到