-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle repeated predicate pushdown into Hive connector #984
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@martint make sure this change doesn't increase the number of times we query the Metastore for partitions. Also, make sure that queries like
do not hit the |
findepi
reviewed
Jun 13, 2019
martint
force-pushed
the
hive-pruning
branch
3 times, most recently
from
June 14, 2019 01:29
b3d70fe
to
7615b47
Compare
Execute the rules after all the predicate pushdowns, decorrelations and other simplifications have executed to avoid calling into the connectors multiple times if possible (these actions can be expensive for some connectors such as Hive).
NONE means no rows would be produced, which is incorrect.
electrum
approved these changes
Jun 14, 2019
presto-hive/src/main/java/io/prestosql/plugin/hive/HivePartitionManager.java
Outdated
Show resolved
Hide resolved
presto-hive/src/test/java/io/prestosql/plugin/hive/TestHiveIntegrationSmokeTest.java
Outdated
Show resolved
Hide resolved
presto-hive/src/test/java/io/prestosql/plugin/hive/TestHiveIntegrationSmokeTest.java
Outdated
Show resolved
Hide resolved
presto-hive/src/test/java/io/prestosql/plugin/hive/TestHiveIntegrationSmokeTest.java
Outdated
Show resolved
Hide resolved
presto-hive/src/test/java/io/prestosql/plugin/hive/TestHiveIntegrationSmokeTest.java
Show resolved
Hide resolved
The previous implementation was only considering the first attempt where a filter is pushed down into the Hive connector. As a result, for a query like this, the partition filter above the bottommost filter would be ignored: SELECT * FROM ( SELECT * FROM t WHERE a in (1, 2) ) u WHERE u.pk = 'b';
electrum
reviewed
Jun 14, 2019
presto-hive/src/test/java/io/prestosql/plugin/hive/TestHiveIntegrationSmokeTest.java
Show resolved
Hide resolved
Merged as 74b7a79 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The previous implementation was only considering the first
attempt where a filter is pushed down into the Hive connector.
As a result, for a query like this, the partition filter above
the bottommost filter would be ignored: