pairedrdd:如何有效地计算所有成对差异(在值中)

时间:2016-04-27 17:51:46

标签: apache-spark apache-spark-sql spark-dataframe

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)被选为结果。

1 个答案:

答案 0 :(得分:0)

根据我的理解,因为您没有提供数据类型或代码示例,您需要折叠您的RDD并检查累加器和当前值之间的差异是否少于24小时