pyspark 如何在数据库中使用带分隔符的string_split()?

bvn4nwqk  于 2023-02-03  发布在  Spark
关注(0)|答案(1)|浏览(201)

我正在尝试使用数据块中的string_split()函数来转换下面的 Dataframe 。
源 Dataframe 在数据块中存储为TempView:
| 识别号|价值|
| - ------|- ------|
| 1个|值-1、值-2、值-3|
| 第二章|值-1、值-4|
所需输出:
| 识别号|价值|
| - ------|- ------|
| 1个|值-1|
| 1个|值-2|
| 1个|值-3|
| 三个|值-1|
| 三个|值-4|
我尝试了下面的代码:

%sql
SELECT ID, value
FROM TempView
CROSS APPLY STRING_SPLIT(value, ',')
GROUP BY cs.PERMID, value

但我得到了解析异常。

2izufjch

2izufjch1#

在数据库SQL中没有string_split函数,但是有split函数(doc)。
同样,在您的例子中,使用splitexplodedoc)函数的组合更容易编写代码。

SELECT ID, explode(split(value, ',')) FROM TempView

相关问题