Spark
SQL
提供了内置
函数
SPLIT,可以使用该
函数
按照字符串分隔符拆分行。
示例代码:
假设有以下数据:
+-----------+
| fruit |
+-----------+
|ap
pl
e,banana |
| grape,pear|
+-----------+
需要按照逗号分隔符拆分行,得到以下结果:
+--------+
| fruit|
+--------+
| ap
pl
e |
| banana|
| grape |
| pear |
+--------+
可以使用如下代码实现:
from pyspark.sql.functions import split
# 读取数据
df = spark.createDataFrame([
('apple,banana',),
('grape,pear',)
], ['fruit'])
# 拆分行
exploded_df = df.selectExpr('explode(split(fruit, ",")) as fruit')
# 打印结果
exploded_df.show()
其中,split函数用于按照逗号分隔符拆分字符串,explode函数用于将拆分后的数组拆分成行。最终结果得到拆分后的行。