基于相交日期拆分行。详情如下

时间:2017-07-12 10:05:41

标签: scala apache-spark hive

我有一些关于Hadoop的数据,如下所示:

--Id---------Start_Ts--------------End_Ts--+  
  1 ----|---01/01/2012----|------01/04/2012  
  2 ----|---01/01/2012----|------01/06/2012  
  3 ----|---01/01/2012----|------01/05/2012  
  4 ----|---03/04/2013----|------04/04/2017 

我现在希望以一种行的end_ts和另一行的start_ts之间没有时间重叠的方式拆分行。我希望最后一组看起来像:

--Id---------Start_Ts--------------End_Ts--+  
1 ----|---01/01/2012----|------01/04/2012  
2 ----|---01/01/2012----|------01/04/2012  
2 ----|---01/04/2012----|------01/05/2012  
2 ----|---01/05/2012----|------01/06/2012  
3 ----|---01/01/2012----|------01/04/2012  
3 ----|---01/04/2012----|------01/05/2012  
4 ----|---03/04/2013----|------04/04/2017 

在Spark或Hive中执行此操作的最佳方法是什么?什么方法最适合这样的事情

0 个答案:

没有答案