首页 > 解决方案 > Spark 1.6 和 Spark 2.2 中不同的类似行为

问题描述

我将一些过滤器应用于 Spark 1.6 和 Spark 2.2 中的数据框,我得到了完全不同的行为。我正在执行的代码是:

val df = Seq(
  (1, 2),
  (3, 4),
  (5, 6),
  (7, 8)
).toDF("col1", "col2")

val filter = "col1 rlike '[\\x00-\\x1F\\x7F]'"
df.filter(filter).count
// This gives me 0 in Spark 1.6 and 4 in Spark 2.2

val filter2 = "col1 rlike '[\\\\x00-\\\\x1F\\\\x7F]'"
df.filter(filter2).count
// This gives me 4 in Spark 1.6 and 0 in Spark 2.2

以防万一,Spark 1.6 与 Scala 2.10.5 一起执行,Spark 2.2 与 2.11.8 一起执行。

知道为什么会发生这种情况吗?

标签: scalaapache-sparkapache-spark-sql

解决方案


这个错误修复改变了行为https://issues.apache.org/jira/browse/SPARK-17647


推荐阅读