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

问题描述 投票:0回答:1

我必须简单地删除“。”在进行字数统计之前从字符串中获取。它在两个语句中工作正常,但在用单个语句编写时给出以下错误。我是不是在做一些愚蠢的事情?还是有改进的余地?

错误: 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
scala apache-spark nested expression
1个回答
0
投票

`导入 org.apache.spark.sql.functions._

val testString =“我是 X。X 为 Y 工作。” val testDF = Seq (testString).toDF val testDF1 = testDF.withColumn("new",explode(split($"value".cast("String"), "\s+"))).withColumn("value" ,regexp_replace(col("new"), "[.]*", "")).drop("新")`

© www.soinside.com 2019 - 2024. All rights reserved.