我在Spark 1.6中有一个下面的数据框,我想在下面的数据框过滤器里面使用过滤器变量,但是出现错误。spark scala DataFrame error
val df = sc.parallelize(Seq(
("None", "a", "b"), ("c", "None", "d"), ("e", "f", "None"), ("g", "h", "i"))).toDF("A", "B", "C")
val fil = """($"A" !== "None") && ($"B" !== "None") && ($"C" !== "None")"""
当我运行这个
df.where(fil).show
我收到此错误:
java.lang.RuntimeException: [1.2] failure: identifier expected
($"A" !== "None") && ($"B" !== "None") && ($"C" !== "None")
^
at scala.sys.package$.error(package.scala:27)
at org.apache.spark.sql.catalyst.SqlParser$.parseExpression(SqlParser.scala:49)
at org.apache.spark.sql.DataFrame.where(DataFrame.scala:806)
请帮助。
当我做到这一点VAL FIL =($ “A”=!=“None”)&&($“B”=!=“None”)&&($“C”=!=“None”)fil将是org.apache.spark.sql.Column类型它的工作原理,但是当我有一个字符串hwo将其转换为org.apache.spark.sql.Column,以便我可以在数据帧筛选器中使用它。感谢您的答复 – rubiks