我有一个由2列开始和结束组成的 Dataframe ,日期类型如下:
| 启动|结束|
| - ------|- ------|
| 2019年7月1日10:01:19.000| 2019年7月1日10时11分00秒|
| 2019年7月1日10时10分05秒|2019年7月1日10时40分00秒|
| 2019年7月1日10时35分00秒|2019年7月1日12时30分00秒|
| 2019年7月1日15时20分00秒|2019年7月1日15时50分00秒|
| 2019年7月1日16时10分00秒|2019年7月1日16时35分00秒|
| 2019年7月1日16时30分00秒|2019年7月1日17时00分00秒|
我想添加一个名为组的新列,这样如果两个日期相交,他们应该在同一组。
因此结果应为:
| 启动|结束|群|
| - ------|- ------|- ------|
| 2019年7月1日10:01:19.000| 2019年7月1日10时11分00秒|1个|
| 2019年7月1日10时10分05秒|2019年7月1日10时40分00秒|1个|
| 2019年7月1日10时35分00秒|2019年7月1日12时30分00秒|1个|
| 2019年7月1日15时20分00秒|2019年7月1日15时50分00秒|第二章|
| 2019年7月1日16时10分00秒|2019年7月1日16时35分00秒|三个|
| 2019年7月1日16时30分00秒|2019年7月1日17时00分00秒|三个|
我无法确定两个日期是否相交,日期也是随机定位的。
任何帮助或提示
1条答案
按热度按时间zd287kbt1#
你可以使用spark中的窗口函数来实现这个功能,它会帮助你对数据进行排序,并获得前一行的值,这将起到作用,我认为最好在代码中添加注解来解释它:
希望这个能帮上忙。