【发布时间】:2016-06-11 04:29:40
【问题描述】:
我在 spark 数据框中有最终记录(在连接和过滤之后)。我需要比较连续行的(按键分区)列值,并根据条件需要更改 e_date 列值,例如:
sample table
key1 key 2 col1 col2 s_date e_date
a 1 cv1 cv2 2014 2099
a 1 cv3 cv2 2016 2099
b 2 cv5 cv6 2016 2099
b 2 cv5 cv6 2016 2099
final table should look like
key1 key 2 col1 col2 s_date e_date
a 1 cv1 cv2 2014 2015 (next records s_date-1)
a 1 cv3 cv2 2016 2099
b 2 cv5 cv6 2016 2099
上面的表有复合键,所以 key1 和 key2 是键
通过键分区比较 col1 和 col2 值
如果任何列有新值结束旧记录,新记录的 s_date -1(最终表中的第 1 ,2 行)
- 如果没有变化,则忽略新记录(最终表格中的第 3 行)
scala-spark 中的任意指针
【问题讨论】:
标签: scala apache-spark