我将镶木地板文件按日期存储在以下目录中的分区中:
/activity
/date=20180802
Run Code Online (Sandbox Code Playgroud)
我正在使用 Spark 2.2 并且有 400 多个分区。我的理解是谓词下推应该允许我运行如下查询并获得快速结果。
spark.read.parquet(".../activity")
.filter($"date" === "20180802" && $"id" === "58ff800af2")
.show()
Run Code Online (Sandbox Code Playgroud)
但是,上面的查询大约需要 90 秒,而下面的查询大约需要 5 秒。我做错了什么还是这是预期的行为?
spark.read.parquet(".../activity/date=20180802")
.filter($"id" === "58ff800af2")
.show()
Run Code Online (Sandbox Code Playgroud)