Skip to content
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

Support sorted shuffle write in Sapphire-Velox stack #24739

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

emilysun201309
Copy link

Summary:
Support sorted shuffle write in Sapphire-Velox stack:

  • Copy the key value serializer: fbcode/spark_cpp/src/main/serializer/CoscoKeyValueSerializer.h from Spruce to github/presto-trunk/presto-native-execution/presto_cpp/main/operators/KeyValueSerializer.h
    This is so that we don't have dependency on the internal implementation.

  • Allow PartitionAndSerialize Node to take sortingOrder and sortingKeys` as optional parameters.

  • If both sortingOrder and sortingKeys` are provided, serialize the Keys and invoke Cosco sorted shuffle by providing an non-empty key.

Differential Revision: D71236519

@emilysun201309 emilysun201309 requested a review from a team as a code owner March 17, 2025 16:54
Copy link

linux-foundation-easycla bot commented Mar 17, 2025

CLA Not Signed

@facebook-github-bot
Copy link
Collaborator

This pull request was exported from Phabricator. Differential Revision: D71236519

emilysun201309 added a commit to emilysun201309/presto that referenced this pull request Mar 17, 2025
Summary:

Support sorted shuffle write in Sapphire-Velox stack: 
- Copy the key value serializer: `fbcode/spark_cpp/src/main/serializer/CoscoKeyValueSerializer.h` from Spruce to `github/presto-trunk/presto-native-execution/presto_cpp/main/operators/KeyValueSerializer.h` 
This is so that we don't have dependency on the internal implementation. 

- Allow PartitionAndSerialize Node to take `sortingOrder and `sortingKeys` as optional parameters. 

- If both `sortingOrder and `sortingKeys` are provided, serialize the Keys and invoke Cosco sorted shuffle by providing an non-empty key.

Differential Revision: D71236519
Summary:
Pull Request resolved: prestodb#24739

Support sorted shuffle write in Sapphire-Velox stack:
- Copy the key value serializer: `fbcode/spark_cpp/src/main/serializer/CoscoKeyValueSerializer.h` from Spruce to `github/presto-trunk/presto-native-execution/presto_cpp/main/operators/KeyValueSerializer.h`
This is so that we don't have dependency on the internal implementation.

- Allow PartitionAndSerialize Node to take `sortingOrder and `sortingKeys` as optional parameters.

- If both `sortingOrder and `sortingKeys` are provided, serialize the Keys and invoke Cosco sorted shuffle by providing an non-empty key.

Differential Revision: D71236519
@facebook-github-bot
Copy link
Collaborator

This pull request was exported from Phabricator. Differential Revision: D71236519

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants