News for hackers. Stuff that matters.
Re:Apache Arrow Datafusion 5.0.0 release by pella on Tuesday August 24, 2021 @02:49PM (#28293186)
Question:

- Is it possible to handle data larger than fits into RAM?

- Any benchmark? like: https://h2oai.github.io/db-benchmark/ ( see 50GB + Join -> "timeout" | "out of memory" )

Re:Apache Arrow Datafusion 5.0.0 release by hashjoiner on Tuesday August 24, 2021 @03:22PM (#28293598)
There is a PR from me (Daniël, committer) with for db-benchmark. For the group by benchmarks, on my machine, it is currently somewhat slower than the fastest (Polars).

https://github.com/h2oai/db-benchmark/pull/182

Also we do support running TPC-H benchmarks. For the queries we can run, those are already finishing faster than Spark. We are planning to do more benchmarking and optimizations in the future.

Re:Apache Arrow Datafusion 5.0.0 release by tomnipotent on Tuesday August 24, 2021 @10:34PM (#28297456)
> it is currently somewhat slower than the fastest (Polars).

That's really promising, considering how fast Polars is. Both are written in Rust and use Apache Arrow, so they can even co-exist in the same context.

Re:Apache Arrow Datafusion 5.0.0 release by hashjoiner on Wednesday August 25, 2021 @04:00AM (#28299073)
Yes, that's pretty exciting! There is even support in Polars to execute the dataframe compute in DataFusion (as it can handle larger than memory datasets).
Re:Apache Arrow Datafusion 5.0.0 release by houqp on Tuesday August 24, 2021 @02:54PM (#28293246)
> - Is it possible to handle data larger than fits into RAM?

Not at the moment, but the community has plans to add support for disk spill.

> - Any benchmark? like: https://h2oai.github.io/db-benchmark/ ( see 50GB + Join -> "timeout" | "out of memory" )

One of the committer Daniel is working on a h2oai db benchmark PR for Datafusion :)

Re:Apache Arrow Datafusion 5.0.0 release by andygrove on Tuesday August 24, 2021 @03:10PM (#28293461)
There is experimental support for distributed query execution with spill-to-disk between stages to support larger than memory datasets. This is implemented in the Ballista crate, which extends DataFusion.

https://github.com/apache/arrow-datafusion/tree/master/balli...