小编Dar*_*nek的帖子

在 Spark 的 where 子句中将多个条件作为字符串传递

我正在使用 DataFrame API 在 Spark 中编写以下代码。

val cond = "col("firstValue") >= 0.5 & col("secondValue") >= 0.5 & col("thirdValue") >= 0.5"
val Output1 = InputDF.where(cond)
Run Code Online (Sandbox Code Playgroud)

我将所有条件作为来自外部参数的字符串传递,但它会抛出一个解析错误,因为它cond应该是类型Column

例如:

col("firstValue") >= 0.5 & col("secondValue") >= 0.5 & col("thirdValue") >= 0.5
Run Code Online (Sandbox Code Playgroud)

由于我想动态传递多个条件,如何将 a 转换String为 a Column

编辑

有什么东西可以让我从外部读取条件列表 as Column,因为我没有找到任何可以使用 Scala 代码将 a 转换String为 a 的东西Column

scala apache-spark apache-spark-sql apache-spark-dataset apache-spark-2.0

1
推荐指数
1
解决办法
8795
查看次数