pyspark如何实现相邻两行相减?

dickwxyz 2017-10-31 04:29:12
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|
...全文
1636 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
4qw 2017-11-23
  • 打赏
  • 举报
回复
spark 有内置方法lag和lead,代表的意思请参考oracle,获取上一条记录或下一条记录;该方法返回列值,让每条记录生成一个新列, 该列即为lag或lead对应的列,即可以进行列操作;需要提前对数据进行排序.

1,258

社区成员

发帖
与我相关
我的任务
社区描述
Spark由Scala写成,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于MapReduce算法实现的分布式计算。
社区管理员
  • Spark
  • shiter
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧