Spark 1.6和Spark 2.2中不同的rlike行为

时间:2019-04-29 09:50:57

标签: scala apache-spark apache-spark-sql

我正在将一些过滤器应用于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和2.11.8的Spark 2.2一起执行。

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:2)

此错误修复https://issues.apache.org/jira/browse/SPARK-17647

改变了行为