根据Spark SQL中的条件合并组中的记录

时间:2020-07-23 20:03:08

标签: apache-spark-sql

我在Spark SQL中具有下表。如何将每个组的第一条和最后一条记录与第一条记录的pruch_dt最后条记录的return_dt合并? / p>

在下面的示例示例中,有2个组-[1,2,3][4,5,6]Flag = Y标志着一个组的结束。

输入:

orderid | line_num | purch_dt   | return_dt  | flag
12345   |    1     | 10/01/2020 | 15/01/2020 |  N 
12345   |    2     | 19/01/2020 | 22/01/2020 |  N 
12345   |    3     | 25/01/2020 | 28/01/2020 |  Y 
12345   |    4     | 05/02/2020 | 09/02/2020 |  N 
12345   |    5     | 18/02/2020 | 24/02/2020 |  N 
12345   |    6     | 02/03/2020 | 07/03/2020 |  Y 

输出:

orderid | line_num | min_purch_dt   | max_return_dt  | flag
12345   |    3     | 10/01/2020     | 28/01/2020     |  Y  
12345   |    6     | 05/02/2020     | 07/03/2020     |  Y  

请注意,每个组仅输出1条记录。

感谢您的帮助。谢谢

0 个答案:

没有答案