Spark SQL中的split函数可以将一个字符串按照指定的分隔符进行分割,返回一个数组。语法如下:
split(str: Column, pattern: String)
其中str是要分割的字符串,pattern是分隔符。
例如,如果有如下一个 DataFrame,
+---+------------+
| id| words|
+---+------------+
| 1|a,b,c,d,e,f |
| 2|g,h,i,j,k,l |
+---+------------+
使用如下语句将words列按逗号分割成数组
import org.apache.spark.sql.functions._
val df2 = df.select(split($"words", ",").as("arr"))
df2.show(false)
结果如下:
+----------------+
|arr |
+----------------+
|[a, b, c, d, e, f]|
|[g, h, i, j, k, l]|
+----------------+