Repository navigation
[SPARK-50593][SQL] SPJ: Support truncate transform via generalized ReducibleFunction API #55885
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
Open
metanil
wants to merge
32
commits into
apache:master
Choose a base branch
from
metanil:SPARK-50593-truncate_spj_support
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
d0f43af
[SPARK-50593][SQL] Generalize ReducibleFunction reducer API with Redu…
metanil c225cc1
[SPARK-50593][SQL] Support truncate transform for Storage Partitioned…
metanil f0d8088
[SPARK-50593][SQL] Strengthen test coverage for truncate SPJ and Redu…
metanil aeab763
[SPARK-50593][SQL] Harden reducer fallback and tighten SPJ supportsEx…
metanil 721f576
[SPARK-50593][SQL] Make SPJ compatibility and reducer checks nested-t…
metanil 9a70695
[SPARK-50593][SQL] Restore strict SPJ transform gate, keep recursive …
metanil 28368ca
[SPARK-50593][SQL] Replace ReducibleParameters with V2 Literal[] in t…
metanil 9d92888
[SPARK-50593][SQL] Reject non-scalar literal params in the reducer API
metanil 7ea6de9
[SPARK-50593][SQL] Share childrenMatch helper for reducer layout chec…
metanil 8614b01
[SPARK-50593][SQL] Skip SPJ reduction when a transform's literal para…
metanil 551fe55
[SPARK-50593][SQL] Generalized-first SPJ reducer dispatch with param-…
metanil 6ee8de8
Merge remote-tracking branch 'upstream/master' into SPARK-50593-trunc…
metanil 607612f
[SPARK-50593][SQL] Merge upstream/master and generalize transform ide…
metanil a0ddf44
[SPARK-50593][SQL] Re-derive the ReducibleFunction version stamp for …
metanil af0fadb
[SPARK-50593][SQL] Avoid the literal string numBucketsOpt in test com…
metanil d593c36
[SPARK-50593][SQL] Re-merge upstream/master for SPARK-59688's allowRe…
metanil 4187ba8
[SPARK-50593][SQL] Compare transform identity per argument position, …
metanil dc0afc9
[SPARK-50593][SQL] Preserve transform literal parameters when rewriti…
metanil 7867a39
[SPARK-50593][SQL] Treat an unreadable argument type as not matching …
metanil fd7f630
[SPARK-50593][SQL] Resolve any NamedReference in a transform argument…
metanil b3f9328
[SPARK-50593][SQL] Derive isSameFunction and hasSameReducedKeys from …
metanil 414f96b
[SPARK-50593][SQL] Give TransformExpression one reducer entry point; …
metanil a7dd4fe
[SPARK-50593][SQL] Share the identity-vs-transform decision and the c…
metanil e3b43f5
[SPARK-50593][SQL] Match master's inline allowReduce check in isExpre…
metanil 0a2cd6f
[SPARK-50593][SQL] Trim the comments this PR adds
metanil 994391d
[SPARK-50593][SQL] Document when Spark does not call the generalized …
metanil 22cd902
[SPARK-50593][SQL] Offer the deprecated int reducer only a pair of th…
metanil 18f6f8f
[SPARK-50593][SQL] Document the same-function condition for the depre…
metanil 1ae0c48
[SPARK-50593][SQL] Never substitute a literal in alias projection
metanil 03811b1
[SPARK-50593][SQL] Rename ArgumentShape.Column to ColumnRef
metanil 24600bd
[SPARK-50593][SQL] Address review findings on null parameters, functi…
metanil 05184de
[SPARK-50593][SQL] Note that the reducer defaults delegate; fix stale…
metanil File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
Oops, something went wrong.
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.
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.
Finding 9. With this delegation the two defaults can call each other. A connector migrating to the generalized overload writes the natural shim for its zero-parameter transforms:
reducer(other)is not overridden, so it lands back here, which calls the override again.TransformExpression.reducerscallsreducer(otherFunction)for exactly the zero-parameter pair, so the recursion is reachable, and the resultingStackOverflowErroris aVirtualMachineError:Try'sNonFataldoes not catch it, so it takes the driver thread down rather than costing a shuffle.An
@implNoteis enough, since the direction is not guessable from the signatures: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.
Ya, I wanted to avoid adding implementation detail in javadoc, but good idea to add was part of
@implNote. Thanks.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.
@peter-toth Just a note. Looks like Spark doesn't have
@implNotebuild support. I'll add that one too in the build.Let me know if we don't want to change build file in this PR.
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.
Thanks for flagging it. That's on me: I suggested the tag without checking that the build doesn't register it. I'd rather not introduce a new Javadoc tag for a single note, so please drop the build changes and keep it as a plain paragraph instead: