【发布时间】:2017-09-25 20:55:37
【问题描述】:
我有一个用例,我将数据存储到数据集中。我有一列可以在一行中有多个值,由管道(|)分隔。因此,典型的行如下所示:
2016/01/01 1/XYZ PQR M|N|O
我希望将这一行转换为 3 行,如下所示:
2016/01/01 1/XYZ PQR M
2016/01/01 1/XYZ PQR N
2016/01/01 1/XYZ PQR O
此外,并非最后一列中的所有内容都可能包含管道(|)。某些行可以是上述之一。我试图用管道(|)拆分相关列,但由于行不包含管道(|)而出错。我想不出任何进一步的解决方案。
在 scala 中使用 spark-shell 实现这一目标的最佳方法是什么。
【问题讨论】:
-
你需要的是
explode函数。
标签: scala apache-spark spark-dataframe amazon-emr apache-spark-dataset