【发布时间】:2021-11-01 03:19:58
【问题描述】:
我在 Spark 中有以下数据框。
| id | start | end |
|---|---|---|
| 140396 | 2002-06-18 | 2003-06-18 |
| 140396 | 2007-07-29 | 2015-07-29 |
| 140396 | 2008-02-05 | 2010-02-05 |
| 140396 | 2009-01-18 | 2010-01-18 |
| 140396 | 2013-01-19 | 2021-08-30 |
| 140396 | 2017-05-15 | 2021-08-30 |
我必须分析日期范围以获取其他日期范围,它们之间没有交集,但保留完整的日期范围。结果:
| id | start | end |
|---|---|---|
| 140396 | 2002-06-18 | 2003-06-18 |
| 140396 | 2007-07-29 | 2021-08-30 |
其他例子可以来自:
| id | start | end |
|---|---|---|
| 140396 | 2002-06-18 | 2003-06-18 |
| 140396 | 2007-07-29 | 2015-07-29 |
| 140396 | 2014-02-05 | 2016-02-05 |
| 140396 | 2017-05-15 | 2021-08-30 |
到
| id | start | end |
|---|---|---|
| 140396 | 2002-06-18 | 2003-06-18 |
| 140396 | 2007-07-29 | 2016-02-05 |
| 140396 | 2017-05-15 | 2021-08-30 |
请记住,还有其他用户有他们的日期,所以问题是按 id 用一个窗口划分的。
有人知道如何解决这个问题吗?
非常感谢您
【问题讨论】:
标签: scala apache-spark apache-spark-sql