我正在尝试将列行转换为字符串变量。
输入数据框。
部门名称 | 员工姓名 |
---|---|
发展 | 阿斯特丽德 |
发展 | 芙蕾雅 |
发展 | 威尔玛 |
销售 | 玛雅 |
销售 | 爱丽丝 |
人员 | 约翰 |
人员 | 沼泽 |
期待如下输出,请帮助我。
val data='开发','开发','开发','销售','销售','销售','人员','人员'
您需要
select
列,collect
它。它将返回一个 Row 数组。
我们将映射行并使用 getString
将每个值转换为字符串。
最后, mkString
会用“,”作为分隔符组成一个完整的字符串。
import sparkSession.implicits._
val df = List(
("develop", "astrid"),
("develop", "Freja"),
("develop", "Wilma"),
("sales", "Maja"),
("sales", "Alice"),
("personnel", "John"),
("personnel", "Marsh")
).toDF("depName", "emp_name")
val result = df.select("depName").collect().map(_.getString(0)).mkString(",")