Skip to content

Conversation

@zhzhan
Copy link
Contributor

@zhzhan zhzhan commented Sep 16, 2015

The predicate pushdown is not working because the construction is wrong. Fix it with startAnd/end

@SparkQA
Copy link

SparkQA commented Sep 16, 2015

Test build #42548 has finished for PR 8783 at commit 6fcc9b1.

  • This patch fails Scala style tests.
  • This patch merges cleanly.
  • This patch adds the following public classes (experimental):
    • case class TaskCommitDenied(
    • final val probabilityCol: Param[String] = new Param[String](this, "probabilityCol", "Column name for predicted class conditional probabilities. Note: Not all models output well-calibrated probability estimates! These probabilities should be treated as confidences, not precise probabilities")
    • abstract class LocalNode(conf: SQLConf) extends QueryPlan[LocalNode] with Logging

@SparkQA
Copy link

SparkQA commented Sep 17, 2015

Test build #42554 has finished for PR 8783 at commit 6cec555.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@zhzhan
Copy link
Contributor Author

zhzhan commented Sep 17, 2015

@liancheng @marmbrus Can you help to review it?

@liancheng
Copy link
Contributor

@zhzhan I just opened #8799, which is based on your PR. The reasons are:

  1. I'd like to let buildSearchArgument handle all the startAnd()/end() wrapping stuff.
  2. The in filter wasn't correctly implemented either.
  3. Add more comprehensive tests.
  4. buildSearchArgument can be further simplified for better readability.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can use SQLTestUtils.withSQLConf instead.

@zhzhan
Copy link
Contributor Author

zhzhan commented Sep 17, 2015

@liancheng Thanks for review. Since #8799 is opened, which also fix another issue. I will close this one.

@zhzhan zhzhan closed this Sep 17, 2015
@liancheng
Copy link
Contributor

@zhzhan Thanks for investigating and working on this issue. Would you mind to help reviewing #8799?

asfgit pushed a commit that referenced this pull request Sep 19, 2015
When pushing down a leaf predicate, ORC `SearchArgument` builder requires an extra "parent" predicate (any one among `AND`/`OR`/`NOT`) to wrap the leaf predicate. E.g., to push down `a < 1`, we must build `AND(a < 1)` instead. Fortunately, when actually constructing the `SearchArgument`, the builder will eliminate all those unnecessary wrappers.

This PR is based on #8783 authored by zhzhan. I also took the chance to simply `OrcFilters` a little bit to improve readability.

Author: Cheng Lian <[email protected]>

Closes #8799 from liancheng/spark-10623/fix-orc-ppd.
asfgit pushed a commit that referenced this pull request Sep 19, 2015
When pushing down a leaf predicate, ORC `SearchArgument` builder requires an extra "parent" predicate (any one among `AND`/`OR`/`NOT`) to wrap the leaf predicate. E.g., to push down `a < 1`, we must build `AND(a < 1)` instead. Fortunately, when actually constructing the `SearchArgument`, the builder will eliminate all those unnecessary wrappers.

This PR is based on #8783 authored by zhzhan. I also took the chance to simply `OrcFilters` a little bit to improve readability.

Author: Cheng Lian <[email protected]>

Closes #8799 from liancheng/spark-10623/fix-orc-ppd.

(cherry picked from commit 22be2ae)
Signed-off-by: Yin Huai <[email protected]>

Conflicts:
	sql/hive/src/main/scala/org/apache/spark/sql/hive/orc/OrcFilters.scala
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants