小编Lok*_*r P的帖子

Spark数据帧否定过滤条件

我正在尝试在DataFrame上应用过滤条件的否定,如下所示.

!(`Ship Mode` LIKE '%Truck%')
Run Code Online (Sandbox Code Playgroud)

这是在下面抛出一个例外

Exception in thread "main" java.lang.RuntimeException: [1.3] failure: identifier expected

(!(`Ship Mode` LIKE '%Truck%'))
  ^
    at scala.sys.package$.error(package.scala:27)
    at org.apache.spark.sql.catalyst.SqlParser.parseExpression(SqlParser.scala:47)
    at org.apache.spark.sql.DataFrame.filter(DataFrame.scala:748)
    at Main.main(Main.java:73)
Run Code Online (Sandbox Code Playgroud)

在MySQL中,相同类型的负过滤条件正常工作.如下请见

mysql> select count(*) from audit_log where !(operation like '%Log%' or operation like '%Proj%');
+----------+
| count(*) |
+----------+
|      129 |
+----------+
1 row in set (0.05 sec)
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我,如果计划在将来的版本中修复Spark DataFrames,或者我应该提出JIRA.

java apache-spark apache-spark-sql

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

标签 统计

apache-spark ×1

apache-spark-sql ×1

java ×1