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
ARROW-10251: [Rust] [DataFusion] MemTable::load() now loads partitions in parallel #8428
Conversation
20274c1
to
48655f1
Compare
For the TPCH benchmark with
|
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.
Good idea!
Left two small suggestions, but with a 10x, LGTM anyways xD (pending checks).
let exec = exec.clone(); | ||
let task: JoinHandle<Result<Vec<RecordBatch>>> = task::spawn(async move { | ||
let it = exec.execute(partition).await?; | ||
Ok(it.into_iter().collect::<ArrowResult<Vec<RecordBatch>>>()?) |
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.
Ok(it.into_iter().collect::<ArrowResult<Vec<RecordBatch>>>()?) | |
it.into_iter().collect::<ArrowResult<Vec<RecordBatch>>>() |
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.
(I have not tested this)
data.push(partition_batches); | ||
let mut data: Vec<Vec<RecordBatch>> = Vec::with_capacity(partition_count); | ||
for task in tasks { | ||
let result = task.await.unwrap()?; |
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.
let result = task.await.unwrap()?; | |
let result = task.await.expect("To have some data on every recordBatch")?; |
…s in parallel Closes apache#8428 from andygrove/ARROW-10251 Authored-by: Andy Grove <andygrove73@gmail.com> Signed-off-by: Andy Grove <andygrove@nvidia.com>
No description provided.