Генераторы не поддерживаются, когда они вложены в выражения - PullRequest
0 голосов
/ 02 мая 2018

Я должен сделать простое удаление "." из строк, прежде чем делать подсчет слов. Он работает нормально в двух утверждениях, но выдает ошибку ниже при записи в одном утверждении. Я делаю что-то вроде глупости? Или это простор для улучшения?

Ошибка: org.apache.spark.sql.AnalysisException: генераторы не поддерживаются, когда они вложены в выражения, но получают: regexp_replace (explode (split (CAST (значение 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
...