df.show(6)如下所示.
+--------------------+--------+
| MSID| etime|
+--------------------+--------+
|00E91B511D5E| 0|
|00E91B511D5E| 55|
|00E91B511D5E| 115|
|00E91B511D5E| 175|
|00E91B511D5E| 235|
|00E91B511D5E| 294|
前后etime相減,想要得到如下結果:
+--------------------+--------+---------+
| MSID| etime| order|
+--------------------+--------+---------+
|00E91B511D5E| 0| 55|
|00E91B511D5E| 55| 60|
|00E91B511D5E| 115| 60|
|00E91B511D5E| 175| 60|
|00E91B511D5E| 235| 60|
|00E91B511D5E| 294| -1|
uj5u.com熱心網友回復:
spark 有內置方法lag和lead,代表的意思請參考oracle,獲取上一條記錄或下一條記錄;該方法回傳列值,讓每條記錄生成一個新列,該列即為lag或lead對應的列,即可以進行列操作;需要提前對資料進行排序.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/56361.html
標籤:Spark
下一篇:亞馬遜ec2 網速很慢
