dataset在java中转置列

mefy6pfw  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(136)

嗨,我想写一个java方法来将我的列转换成行。到目前为止,我主要在scala工作,所以不知道explode和seq在java中是如何工作的..这里是我在网上找到的scala代码..有人能帮我把它转换成java吗:

val (cols, types) = transDF.dtypes.filter{ case (c, _) => !transBy.contains(c)}.unzip
  require(types.distinct.size == 1)      

  val kvs = explode(array(
    cols.map(c => struct(lit(c).alias("column_name"), col(c).alias("column_value"))): _*
  ))

  val byExprs = transBy.map(col(_))

  transDF
    .select(byExprs :+ kvs.alias("_kvs"): _*)
    .select(byExprs ++ Seq($"_kvs.column_name", $"_kvs.column_value"): _*)
}

以下是我找到代码的来源:http://bailiwick.io/2017/10/21/transpose-data-with-spark/ 谢谢,
p、 s:如果这个问题不允许,请删除

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题