spark sql split函数

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]|
+----------------+
  •