import org.apache.spark.sql.functions._
split(data(field), "|"))

data是一个Spark DataFrame,其中的field字段是由竖杠​​|​​​隔开的字符串(如:"中国|美国|英国")
我写上述代码是为了将其切开得到每个国家("中国","美国","英国"),然而结果却是("中","国","美","国","英","国")并不是我想的那样。

原因是split方法的第二个参数接收正则字符串,所以要将​​|​​​改成​​\\|​​,才能得到想要的结果

import org.apache.spark.sql.functions._
split(data(field), "\\|"))