rdd1 key is (user_id, inc_id)
user_id,inc_id,visit_date1 visit_date2 visit_date3 visit_date4
rdd2键也是(user_id,inc_id) user_id,inc_id,purchase_date1 purchase_date2 purchase_date3 purchase_date4
日期按时间顺序排序(visit_date1发生在visit_date 2之前)
这是我想要计算第一次出现的内容 每个(user_id,inc_id)组合的条件是最早的时间 当(visit_date和purchase_date)之间的差异较小时 超过24小时。我想这样做是非常有效的,因为我 有数千万(user_id,inc_id)对和 每个(user_id,inc_id)对有数百/数千个条目。
以下是一些示例数据:
rdd1
(100, 1) 2015-01-12 06:32:00.0 2015-02-14 18:32:20.0 2015-03-18 11:18:25.0 2015-04-28 10:18:24.0
RDD2
(100, 1) 2014-12-18 16:32:00.0 2015-01-10 8:32:20.0 2015-03-18 20:18:25.0 2015-04-28 11:28:42.0
在这种情况下(2015-03-18 11:18:25.0 2015-03-18 20:18:25.0)和 (2015-04-28 10:18:24.0 2015-04-28 11:28:42.0)满足24岁以内 小时条件。但是,自2015-03-18 11:18:25.0发生之前 2015-04-28 10:18:24.0我想(2015-03-18 11:18:25.0
2015-03-18 20:18:25.0)被选为结果。
答案 0 :(得分:0)
根据我的理解,因为您没有提供数据类型或代码示例,您需要折叠您的RDD并检查累加器和当前值之间的差异是否少于24小时