[native pos] Add end to end functionality for file based broadcast#19917
[native pos] Add end to end functionality for file based broadcast#19917singcha merged 1 commit intoprestodb:masterfrom
Conversation
f63c83f to
1cc5db3
Compare
3a72832 to
66f9434
Compare
presto-native-execution/presto_cpp/main/types/PrestoToVeloxQueryPlan.h
Outdated
Show resolved
Hide resolved
presto-native-execution/presto_cpp/main/operators/BroadcastFactory.cpp
Outdated
Show resolved
Hide resolved
...ve-execution/src/test/java/com/facebook/presto/spark/TestPrestoSparkNativeSimpleQueries.java
Outdated
Show resolved
Hide resolved
presto-spark-base/src/main/java/com/facebook/presto/spark/BroadcastStorage.java
Outdated
Show resolved
Hide resolved
presto-spark-base/src/main/java/com/facebook/presto/spark/LocalBroadcastStorage.java
Outdated
Show resolved
Hide resolved
presto-spark-base/src/main/java/com/facebook/presto/spark/execution/BatchTaskUpdateRequest.java
Outdated
Show resolved
Hide resolved
presto-spark-base/src/main/java/com/facebook/presto/spark/execution/BroadcastFileInfo.java
Outdated
Show resolved
Hide resolved
presto-spark-base/src/main/java/com/facebook/presto/spark/execution/BroadcastInfo.java
Outdated
Show resolved
Hide resolved
|
@pgupta2 Arjun pointed out that we may need to implement a cache of broadcast data to avoid reading same data multiple times from the same executor in case multiple tasks from the same stage end up on that executor. Here is Java implementation: https://github.com/prestodb/presto/blob/master/presto-spark-base/src/main/java/com/facebook/presto/spark/execution/PrestoSparkBroadcastTableCacheManager.java |
35cb1ec to
1bd52c2
Compare
presto-native-execution/presto_cpp/main/operators/BroadcastFactory.h
Outdated
Show resolved
Hide resolved
presto-spark-base/src/main/java/com/facebook/presto/spark/PrestoSparkModule.java
Outdated
Show resolved
Hide resolved
...main/java/com/facebook/presto/spark/execution/task/PrestoSparkNativeTaskExecutorFactory.java
Outdated
Show resolved
Hide resolved
68a5ebe to
432b32e
Compare
c67c047 to
16f988e
Compare
shrinidhijoshi
left a comment
There was a problem hiding this comment.
One last comment on the property name.
Also, consider below changes on the commit message
- Wrap the text rather than a single long line
- Add more details about changes the commit introduces.
presto-spark-base/src/main/java/com/facebook/presto/spark/PrestoSparkConfig.java
Outdated
Show resolved
Hide resolved
2761263 to
dc3e0d4
Compare
Done, Thanks for pointing it out |
|
@mbasmanova @vermapratyush @shrinidhijoshi - Thank you for the review. I have addressed these and below items will be addressed in followup PR
Can you please review. |
e84954c to
1c075f2
Compare
|
@singcha Please update the release notes section with the new property added. |
Added, thanks! |
shrinidhijoshi
left a comment
There was a problem hiding this comment.
LGTM @singcha . Thanks for working on this and addressing all the feedback.
vermapratyush
left a comment
There was a problem hiding this comment.
Thanks for addressing the feedback @singcha
1c075f2 to
78b50c0
Compare
Add broadcast support for file based broadcast by : 1. presto to velox query plan changes to : a. add BroadcastWriteNode if plan fragment has broadcast output b. add ExchangeNode for broadcast read path which uses BroadcastExchangeSource 2. wire end to end flow with java executor 3. enable tests failing due to missing broadcast feature
78b50c0 to
b435f7a
Compare
Add broadcast support for file based broadcast by :
Overall flow after this change :
Test plan -
Tested by enabling disabled tests which uses broadcast.