apache-spark-sql - 遍历火花数据框并为每行连接两列
问题描述
我正在迭代 spark datframe,我想为每一行连接两列。
df.collect().foreach{
row =>
val x = row.toSeq
println(x)
println(x(0))
val y = "row(1)+row(2)"
}
解决方案
val dataFrame = sc.parallelize(Seq(("one", 2.0),("two", 1.5),("three", 8.0))).toDF("id", "value")
import org.apache.spark.sql.functions.concat
val dfToList = dataFrame.withColumn("concat" , concat($"id",$"value")).drop("id").drop("value").collect()
println(dfToList)
这给
dataFrame: org.apache.spark.sql.DataFrame = [id: string, value: double]
import org.apache.spark.sql.functions.concat
dfToList: Array[org.apache.spark.sql.Row] = Array([one2.0], [two1.5], [three8.0])
这是要找的吗?
推荐阅读
- python - 如何通过python将json文件中的Nan替换为None?
- javascript - 该图标在我的终端中消失并为空
- javascript - 我的数字输入应该只接受数字[0-9] 和 [-] 字符
- python - 字段未添加到 MongoDB 文档
- powershell - 在 Powershell 中使用带有 -gt 的 EXO TotalItemSize - 对于某些邮箱大小不准确
- velo - OnCurrentIndexChange 处理程序在我在 Wix 中选择表上的一行之前触发
- laravel - 文件上传损坏
- regex - 正则表达式在 Delphi 应用程序中使用时仅返回第一项
- python - 我如何创建一个函数来在 GDP 数据框中找到衰退开始和衰退底部的时期。(给出了衰退的定义。)
- flutter - 如何在颤动中替换多个文本?