weixin_40672098
2019-02-22 08:41 阅读 595

如何用java实现SparkSQL dataframe添加自增序号列?

用spark分页查询数据,普通的sql()的不支持分页的sql语句
在网上查资料说可以增加一个序列实现
但是基本都是scala语言,代码如下

// 在原Schema信息的基础上添加一列 “id”信息

val schema: StructType = dataframe.schema.add(StructField("id", LongType))

// DataFrame转RDD 然后调用 zipWithIndex

val dfRDD: RDD[(Row, Long)] = dataframe.rdd.zipWithIndex()

val rowRDD: RDD[Row] = dfRDD.map(tp => Row.merge(tp._1, Row(tp._2)))

// 将添加了索引的RDD 转化为DataFrame

val df2 = spark.createDataFrame(rowRDD, schema)

df2.show()

这段代码如何用java实现呢
或者说我想把dataframe的数据分行获取,有什么其他办法吗

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

相关推荐