【发布时间】:2021-11-11 08:15:37
【问题描述】:
我是 scala 的新手,我在从一行的每个单元格中获取不同的文本值时遇到了麻烦。我的数据框如下所示。我的目的是消除每个候选人 ID 的重复技能。
| candidate_id | skills | join_date | location |
|---|---|---|---|
| 1789s3 | java; c++ ; java | 2012-09-22 | Mumbai |
| agduch23 | ppt ; ppt ; miner | 2018-02-02 | Banglore |
| sgdtev | office 365; | 2019-03-10 | Noida |
我的最终结果数据框应该看起来像这样 -
| candidate_id | skills | join_date | location |
|---|---|---|---|
| 1789s3 | java; c++ | 2012-09-22 | Mumbai |
| agduch23 | ppt; miner | 2018-02-02 | Banglore |
| sgdtev | office 365; | 2019-03-10 | Noida |
我在 SQL 中使用以下命令来执行此操作。
string_agg(ARRAY_TO_STRING(ARRAY((select distinct skill from unnest(split(skills_agg, '; ')) as skill)), '; ')) as skills_distinct
有没有一种方法可以在不使用 sql 的情况下在 scala 中做到这一点。
提前致谢
【问题讨论】:
标签: scala apache-spark apache-spark-sql