Kafka 如何使用Spark DataFrame将列行转换为字符串变量

jdzmm42g  于 5个月前  发布在  Apache
关注(0)|答案(1)|浏览(56)

我需要将单列行转换为字符串变量,以便在从DB表加载时用于where条件,而不是从表中加载整个数据。

  • 下面的示例框架。*

| depName| emp_name|
| --|--|
| 发展|阿斯特丽德|
| 发展|Freja|
| 发展|威尔玛|
| 销售|Maja|
| 销售|爱丽丝|
| 人员|约翰|
| 人员|马什|

  • 期望输出如下,请帮助我. *
  • 瓦尔data ='develope','develope','develope','sales','sales','sales','personnel','personnel'*
  • 我尝试了下面的逻辑,但COLLECT方法需要更多的时间 *
  • 瓦尔result = df.select(“depName”).collect().map(_.getString(0)).mkString(“,”)*
wsewodh2

wsewodh21#

你需要select列,collect它。它将返回一个Row数组。我们将Map这些行,并使用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(",")

字符串

相关问题