MAPREDUCE服务 MRS-Spark Structured Streaming对接Kafka样例程序开发思路:场景说明

时间:2024-06-27 19:17:03

场景说明

假定一个广告业务,存在广告请求事件、广告展示事件、广告点击事件,广告主需要实时统计有效的广告展示和广告点击数据。

已知:

  1. 终端用户每次请求一个广告后,会生成广告请求事件,保存到kafka的adRequest topic中。
  2. 请求一个广告后,可能用于多次展示,每次展示,会生成广告展示事件,保存到kafka的adShow topic中。
  3. 每个广告展示,可能会产生多次点击,每次点击,会生成广告点击事件,保存到kafka的adClick topic中。
  4. 广告有效展示的定义如下:
    1. 请求到展示的时长超过A分钟算无效展示。
    2. A分钟内多次展示,每次展示事件为有效展示。
  5. 广告有效点击的定义如下:
    1. 展示到点击时长超过B分钟算无效点击。
    2. B分钟内多次点击,仅首次点击事件为有效点击。

基于此业务场景,模拟简单的数据结构如下:

  • 广告请求事件

    数据结构:adID^reqTime

  • 广告展示事件

    数据结构:adID^showID^showTime

  • 广告点击事件

    数据结构:adID^showID^clickTime

数据关联关系如下:

  • 广告请求事件与广告展示事件通过adID关联。
  • 广告展示事件与广告点击事件通过adID+showID关联。

数据要求:

  • 数据从产生到到达流处理引擎的延迟时间不超过2小时
  • 广告请求事件、广告展示事件、广告点击事件到达流处理引擎的时间不能保证有序和时间对齐
support.huaweicloud.com/devg-lts-mrs/mrs_07_410107.html