-
Notifications
You must be signed in to change notification settings - Fork 244
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
Fix the canonicalizing for GPU file scan #10137
Fix the canonicalizing for GPU file scan #10137
Conversation
The original output should be used when creating a canonicalized GPU file scan, because the rule `prunePartitionForFileSourceScan` in Plugin may remove the partition columns that are not used by the first downstream ProjectExec for some patterns, leading to some partition columns not exist in the finalized output. Then the `AttributeReference`s in some filters but not in the output will not be canonicalized. --------- Signed-off-by: Firestarman <[email protected]>
Signed-off-by: Firestarman <[email protected]>
build |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code change looks okay to me, but I don't understand how this fixes any bug, unless for some reason Spark planed the two getDF
calls in the test differently, or we only filtered out the predicate output in one of the two GpuFileSourceScanExec instances.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jlowe explained the difference to me and I understand it now.
Thx all. |
This reverts commit ace4870.
This reverts commit ace4870.
close #10136
The original output should be used when creating a canonicalized GPU file scan.
Because the rule
prunePartitionForFileSourceScan
will remove partition columns that are notused by the first downstream
ProjectExec
for some patterns, leading to some partition columnsnot exist in the finalized output. Then the
AttributeReference
s in thepartitionFilters
but excludedfrom the finalized output will not be canonicalized.