【发布时间】:2021-11-14 14:48:28
【问题描述】:
我有一个如下所示的 spark 数据框,并希望将列按空格拆分为 3。
+------------+
| text|
+------------+
| aaa bb ccc|
+------------+
| aaa bb c d|
+------------+
| aa b|
+------------+
以下是预期结果。第一项保留在 text1 列中,第二项进入 text2,其余的都进入 text3(如果有)。原始列值可能有空记录或带有任意数量分隔符的值,即空格“”。
+------------+-----+-----+-----+
| text|text1|text2|text3|
+------------+-----+-----+-----+
| aaa bb ccc| aaa | bb | ccc |
+------------+-----+-----+-----+
| aaa bb c d| aaa | bb | c d |
+------------+-----+-----+-----+
| aa b| aa | b | null|
+------------+-----+-----+-----+
| aa | aa |null | null|
+------------+-----+-----+-----+
| | null|null | null|
+------------+-----+-----+-----+
提前致谢!
【问题讨论】:
-
谢谢。建议传递限制参数的解决方案应该有效。它与以下答案建议的相同。但是,当我通过第三个参数来指示限制时,我收到错误说 split 只能接受 2 个参数。
标签: python pyspark apache-spark-sql