嵌套在表达式中时不支持生成器

pra*_*asu 5 expression scala nested apache-spark

我必须做简单的删除“。” 在进行字数统计之前从字符串中提取。它在两个语句中工作正常,但在编写单个语句时给我以下错误。我在做蠢事吗?或者这是一个改进的空间?

错误: org.apache.spark.sql.AnalysisException:当它嵌套在表达式中时不支持生成器,但得到:regexp_replace(explode(split(CAST(value AS STRING), \s+)), [.]*, );

代码:

import org.apache.spark.sql.functions._
val testString = " I am X. X Works for Y."
val testDF = Seq (testString).toDF
val testDF1 = testDF.select(regexp_replace (explode (split($"value".cast("String"), "\\s+")), "[.]*", ""))
testDF1.show
Run Code Online (Sandbox Code Playgroud)