(编辑DF以更清楚地提出问题)使用Spark 2.2.0
我是Spark和Scala编程的新手,我试图查看之前发布的问题。所有人似乎都在寻找我正在寻找的东西,但仍然没有解决我的问题。非常感谢任何帮助
我有一个如下所示的DataFrame。
+------------------+--------------------+
|max(trip_audit_id)|max(trip_seq_end_no)|
+------------------+--------------------+
| 1| 23|
+------------------+--------------------+
我有另一个DF,如下面
+---------+---------+------+-------------------+
|CompanyId|VehicleId| Event| date_time|
+---------+---------+------+-------------------+
| 83| 177010| 100|2017-08-03 2:00 AM|
| 83| 177010|800000|2017-08-03 2:30 AM|
| 83| 177010| 100|2017-08-03 3:00 AM|
| 84| 345678| 100|2017-08-03 3:20 AM|
| 84| 345678|800000|2017-08-03 4:00 AM|
| 83| 177010|800000|2017-08-03 9:00 AM|
| 83| 177010| 100|2017-08-04 2:00 AM|
| 83| 177666|800000|2017-08-04 2:30 AM|
+---------+---------+------+-------------------+
我需要获取第一个数据帧的max(trip_seq_end_no)
并在我的第二个DF中创建一个新列作为运行序列号。另外,我需要将事件= 800000的日期时间戳记放在与事件= 100相同的行中。因此,我的结果Dataframe理想情况下应如下所示。
+---------+---------+-----+-------------------+-----+-------------------+
|CompanyId|VehicleId|Event| 100_date_time|SeqID| 800000_date_time|
+---------+---------+-----+-------------------+-----+-------------------+
| 83| 177010| 100|2017-08-03 2:00 AM| 24| 2017-08-03 2:30 AM|
| 83| 177010| 100|2017-08-03 3:00 AM| 25| 2017-08-03 9:00 AM|
| 84| 345678| 100|2017-08-03 3:20 AM| 26| 2017-08-03 4:00 AM|
| 83| 177010| 100|2017-08-04 2:00 AM| 27| Null |
| 83| 177666| 100| NULL | 28| 2017-08-04 2:30 AM|
+---------+---------+-----+-------------------+-----+-------------------+
请帮忙。
谢谢,