使用 Spark Dataframe 将列行获取到字符串变量中

问题描述 投票:0回答:1

我正在尝试将列行转换为字符串变量。

输入数据框。

部门名称 员工姓名
发展 阿斯特丽德
发展 芙蕾雅
发展 威尔玛
销售 玛雅
销售 爱丽丝
人员 约翰
人员 沼泽

期待如下输出,请帮助我。

val data='开发','开发','开发','销售','销售','销售','人员','人员'

dataframe scala apache-spark apache-kafka spark-streaming
1个回答
0
投票

您需要

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(",")
© www.soinside.com 2019 - 2024. All rights reserved.