Support sorted shuffle write in Sapphire-Velox stack#24739
Conversation
|
|
|
This pull request was exported from Phabricator. Differential Revision: D71236519 |
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
3e2bece to
4a8d2ba
Compare
|
This pull request was exported from Phabricator. 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
4a8d2ba to
398080a
Compare
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
398080a to
0de03de
Compare
|
This pull request was exported from Phabricator. Differential Revision: D71236519 |
0de03de to
91767da
Compare
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
|
This pull request was exported from Phabricator. Differential Revision: D71236519 |
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
91767da to
df68805
Compare
|
This pull request was exported from Phabricator. Differential Revision: D71236519 |
|
Hi @emilysun201309, would you sign the Presto CLA? The information to do so is in this earlier comment. |
df68805 to
428adea
Compare
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
|
This pull request was exported from Phabricator. Differential Revision: D71236519 |
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
428adea to
6e85f34
Compare
|
This pull request was exported from Phabricator. Differential Revision: D71236519 |
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
6e85f34 to
c431913
Compare
|
This pull request was exported from Phabricator. 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
c431913 to
09c7604
Compare
c26ab6f to
43dde56
Compare
|
This pull request was exported from Phabricator. Differential Revision: D71236519 |
1 similar comment
|
This pull request was exported from Phabricator. Differential Revision: D71236519 |
Summary: Pull Request resolved: prestodb#24739 To later support sorted shuffle in Sapphire-Velox, we need to have a way to serializer sort keys, so that they are binary sortable. This diff creates a BinarySortableSerializer. - BinarySortableSerializer is based on Hive's BinarySortableSerDe - The implementation is borrowed from the CoscoKeyValueSerializer from Spruce. - Create a copy of the above in presto-trunk this is so that we don't have dependency on the internal implementation. - Add benchmarks in BinarySortableSerializerBenchmark.cpp Reviewed By: xiaoxmeng Differential Revision: D71236519
43dde56 to
68e9cb9
Compare
Summary: To later support sorted shuffle in Sapphire-Velox, we need to have a way to serializer sort keys, so that they are binary sortable. This diff creates a BinarySortableSerializer. - BinarySortableSerializer is based on Hive's BinarySortableSerDe - The implementation is borrowed from the CoscoKeyValueSerializer from Spruce. - Create a copy of the above in presto-trunk this is so that we don't have dependency on the internal implementation. - Add benchmarks in BinarySortableSerializerBenchmark.cpp Reviewed By: xiaoxmeng Differential Revision: D71236519
68e9cb9 to
7550692
Compare
|
This pull request was exported from Phabricator. Differential Revision: D71236519 |
Summary: To later support sorted shuffle in Sapphire-Velox, we need to have a way to serializer sort keys, so that they are binary sortable. This diff creates a BinarySortableSerializer. - BinarySortableSerializer is based on Hive's BinarySortableSerDe - The implementation is borrowed from the CoscoKeyValueSerializer from Spruce. - Create a copy of the above in presto-trunk this is so that we don't have dependency on the internal implementation. - Add benchmarks in BinarySortableSerializerBenchmark.cpp Reviewed By: xiaoxmeng Differential Revision: D71236519
7550692 to
2e6c7a5
Compare
Summary: To later support sorted shuffle in Sapphire-Velox, we need to have a way to serializer sort keys, so that they are binary sortable. This diff creates a BinarySortableSerializer. - BinarySortableSerializer is based on Hive's BinarySortableSerDe - The implementation is borrowed from the CoscoKeyValueSerializer from Spruce. - Create a copy of the above in presto-trunk this is so that we don't have dependency on the internal implementation. - Add benchmarks in BinarySortableSerializerBenchmark.cpp Reviewed By: xiaoxmeng Differential Revision: D71236519
2e6c7a5 to
3317aea
Compare
|
This pull request was exported from Phabricator. Differential Revision: D71236519 |
1 similar comment
|
This pull request was exported from Phabricator. Differential Revision: D71236519 |
Summary: Pull Request resolved: prestodb#24739 To later support sorted shuffle in Sapphire-Velox, we need to have a way to serializer sort keys, so that they are binary sortable. This diff creates a BinarySortableSerializer. - BinarySortableSerializer is based on Hive's BinarySortableSerDe - The implementation is borrowed from the CoscoKeyValueSerializer from Spruce. - Create a copy of the above in presto-trunk this is so that we don't have dependency on the internal implementation. - Add benchmarks in BinarySortableSerializerBenchmark.cpp Reviewed By: xiaoxmeng Differential Revision: D71236519
3317aea to
855fab9
Compare
|
/easycla |
Summary: To later support sorted shuffle in Sapphire-Velox, we need to have a way to serializer sort keys, so that they are binary sortable. This diff creates a BinarySortableSerializer. - BinarySortableSerializer is based on Hive's BinarySortableSerDe - The implementation is borrowed from the CoscoKeyValueSerializer from Spruce. - Create a copy of the above in presto-trunk this is so that we don't have dependency on the internal implementation. - Add benchmarks in BinarySortableSerializerBenchmark.cpp Reviewed By: xiaoxmeng Differential Revision: D71236519
855fab9 to
551c719
Compare
Summary: To later support sorted shuffle in Sapphire-Velox, we need to have a way to serializer sort keys, so that they are binary sortable. This diff creates a BinarySortableSerializer. - BinarySortableSerializer is based on Hive's BinarySortableSerDe - The implementation is borrowed from the CoscoKeyValueSerializer from Spruce. - Create a copy of the above in presto-trunk this is so that we don't have dependency on the internal implementation. - Add benchmarks in BinarySortableSerializerBenchmark.cpp Reviewed By: xiaoxmeng Differential Revision: D71236519
551c719 to
3a76011
Compare
Summary: Pull Request resolved: prestodb#24739 To later support sorted shuffle in Sapphire-Velox, we need to have a way to serializer sort keys, so that they are binary sortable. This diff creates a BinarySortableSerializer. - BinarySortableSerializer is based on Hive's BinarySortableSerDe - The implementation is borrowed from the CoscoKeyValueSerializer from Spruce. - Create a copy of the above in presto-trunk this is so that we don't have dependency on the internal implementation. - Add benchmarks in BinarySortableSerializerBenchmark.cpp Reviewed By: xiaoxmeng Differential Revision: D71236519
|
This pull request was exported from Phabricator. Differential Revision: D71236519 |
1 similar comment
|
This pull request was exported from Phabricator. Differential Revision: D71236519 |
3a76011 to
694355d
Compare
Summary:
Support sorted shuffle write in Sapphire-Velox stack:
Copy the key value serializer:
fbcode/spark_cpp/src/main/serializer/CoscoKeyValueSerializer.hfrom Spruce togithub/presto-trunk/presto-native-execution/presto_cpp/main/operators/KeyValueSerializer.hThis is so that we don't have dependency on the internal implementation.
Allow PartitionAndSerialize Node to take
sortingOrder andsortingKeys` as optional parameters.If both
sortingOrder andsortingKeys` are provided, serialize the Keys and invoke Cosco sorted shuffle by providing an non-empty key.Differential Revision: D71236519