请问各位大佬:如何为df或者rdd增加一个新的自增列

Lirsoon 2017-11-01 02:20:11
如题 假设目前有一个dataframe或者是转化的rdd
a,b,c
d,e,f
g,h,i
现在我想增加一个自增列
1,a,b,c
2,d,e,f
3,g,h,i
dataframe或者rdd形式的都可以
请问大佬们怎么实现?
...全文
885 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ollydebug 2017-12-18
  • 打赏
  • 举报
回复
我也需要解决类似的问题,请问楼主解决没有
LinkSe7en 2017-11-01
  • 打赏
  • 举报
回复
另外最省事但容易爆内存的是repartition为1个分区。只有一个分区的话递增就是全局的。数据量大就会OOM了
LinkSe7en 2017-11-01
  • 打赏
  • 举报
回复
有两种方法。 一个是全局发号器(例如ZooKeeper有Sequence型节点,或者自己弄个发号器服务不断产生递增值作为发号),但是效率会比较低。 二个是mapPartition,获得当前分区的分区号。然后分区号x一个系数+当前分区本地递增值。系数是分区最大的数据条数+一定冗余。 最省事是前者,最快但容易出问题是后者。

1,258

社区成员

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

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