首页 > 解决方案 > Scala -Spark,Spark SQL 中的 selectExpr 用于带双引号的动态字符串

问题描述

用于 selectExpr 的 Spark Scala 正在引发异常 ------------------------------------------- ----------------------------------------^^^

在 org.apache.spark.sql.catalyst.parser.ParseException.withCommand(ParseDriver.scala:239)

我正在为 Struct 字段创建带有强制转换的动态列

s+ """"cast("""+field._1)+" as "+field._2+""")","""

field._1 是当前field._2的和新的领域。

我已经打印了相同的内容并将其应用于 spark shell 中的数据集,铸件工作正常。但是从程序中它会引发错误

我的预期输出是

val fields= "cast(field1 as field_1)","cast( filed2 as field_2)"

然后应用这个

df.selectExpr(fields)

非常感谢任何帮助或指导。

标签: scalaapache-sparkapache-spark-sql

解决方案


推荐阅读