data.table
ballista
Our great sponsors
data.table | ballista | |
---|---|---|
16 | 20 | |
3,478 | 2,238 | |
0.8% | - | |
9.6 | 9.3 | |
1 day ago | about 3 years ago | |
R | Rust | |
Mozilla Public License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
data.table
- Data.table: R's data.table package extends data.frame
-
Discovering Copy-on-Write in R
The data.table package may also make a huge difference in performance, and often simplifies the code as well https://github.com/Rdatatable/data.table
- new governance being proposed for data.table
-
Local development environment for the data.table R project
After the partial success with the development environment for R-yaml we tried another R package called data.table as part of the Open Source Development Course. Eventually we managed to run the tests of this too.
-
Alternative to Pandas
There's datatable. I haven't used it much, but the R version (data.table) is phenomenal.
-
Do python packages have long form documentation? If so can someone provide me a sample?
data.table README.md
-
How to move “time” to a new column
That's an old bug in data.table v1.12.2. It's been fixed for a while now. If you update your data.table version (e.g., install.packages("data.table") ) and retry then it should work fine.
-
Hiring an R coder to improve efficiency of code?
Some suggestions: (1) https://github.com/Rdatatable/data.table Code based on the data.table will probably be fastest. There are a number of reasons for this. More here: https://cran.r-project.org/web/packages/data.table/vignettes/ and here: https://rdatatable.gitlab.io/data.table/library/data.table/html/datatable-optimize.html The GForce set of optimizations is well explained here: https://www.brodieg.com/2019/02/24/a-strategy-for-faster-group-statisitics/ (2) setDTthreads() is your friend in data.table (3) I have found (on Windows at least) Microsoft Open R use of parallel MKL faster than CRAN's latest release. See https://mran.microsoft.com/documents/rro/multithread Microsoft recommends using setMKLthreads() if it will help. (4) I think rfast ( https://github.com/RfastOfficial/Rfast ) is a library worth considering although I don't know if it will help you with brms and stan operations.
-
Piping in R is like baking!
Take a look at the 22nd new feature of v1.14.3 on development here.
- memory leak after data.table::fread()?
ballista
- Ballista: Distributed compute platform implemented in Rust using Apache Arrow.
-
Open source contributions for a Data Engineer?
His newer project, Ballista, was also donated to Apache Arrow. I hope to get the Rust skills to collaborate with him on open source work someday too. He's also doing really cool work on spark-rapids FYI.
-
Best format to use for DataFrames in Rust and Python?
https://github.com/ballista-compute/ballista/blob/main/rust/executor/src/flight_service.rs#L193-L228
-
I wrote one of the fastest DataFrame libraries
I'm guessing Polars and Ballista (https://github.com/ballista-compute/ballista) have different goals, but I don't know enough about either to say what those might be. Does anyone know enough about either to explain the differences?
-
Introducing Kamu - World's first global collaborative data pipeline
In your article you mention looking for a faster data engine, have you looked at Ballista https://github.com/ballista-compute/ballista? It’s pretty young but it uses the Apache Arrow memory model and the maintainer did a bunch of work on Apache Spark I believe.
-
Rust for DE?
https://github.com/ballista-compute/ballista is also a cool project worth checking out.
-
Julia: A Post-Mortem
It’s mostly a personal favourite, but once Ballista [1] gets a bit more developed, I expect we’ll tear out our Java/Spark pipelines and replace them with that.
The ML ecosystem in Rust is a bit underdeveloped at the moment, but work is ticking along on packages like Linfa and SmartCore, so maybe it’ll get there? In my field I’m mostly about it’s potential for correct, high-performance data pipelines that are straightforward to write in reasonable time, and hopefully a model-serving framework: I hate that so many of the current tools require annotating and shipping Python when really model-serving shouldn’t really need any Python code.
[1] https://github.com/ballista-compute/ballista
- Ballista 0.4.0
-
Why isn't differential dataflow more popular?
I've looked at this and thought it looked amazing, but also haven't used it for anything. Some thoughts...
Rust is a blessing and curse. I seems like the obvious choice for data pipelines, but everything big currently exists in Java and the small stuff is in Javascript, Python or R. Maybe this will slowly change, but it's a big ship to turn. I'm hopeful that tools like this and Balista [1] will eventually get things moving.
Since the Rust community is relatively small, language bindings would be very helpful. Being able to configure pipelines from Java or Typescript(!) would be great.
Or maybe it's just that this form of computation is too foreign. By the time you need it, the project is so large that it's too late to redesign it to use it. I'm also unclear on how it would handle changing requirements and recomputing new aggregations over old data. Better docs with more convincing examples would be helpful here. The GitHub page showing counting isn't very compelling.
[1] https://github.com/ballista-compute/ballista
- ballista-compute/ballista proof-of-concept distributed compute platform primarily implemented in Rust, using Apache Arrow as the memory model.
What are some alternatives?
vaex - Out-of-Core hybrid Apache Arrow/NumPy DataFrame for Python, ML, visualization and exploration of big tabular data at a billion rows per second 🚀
spark-rapids - Spark RAPIDS plugin - accelerate Apache Spark with GPUs
rust-dataframe - A Rust DataFrame implementation, built on Apache Arrow
differential-dataflow - An implementation of differential dataflow using timely dataflow on Rust.
siuba - Python library for using dplyr like syntax with pandas and SQL
delta-rs - A native Rust library for Delta Lake, with bindings into Python
TypedTables.jl - Simple, fast, column-based storage for data analysis in Julia
dagster - An orchestration platform for the development, production, and observation of data assets.
gsir-te - Getting Started in R -- Tinyverse Edition
Prefect - The easiest way to build, run, and monitor data pipelines at scale.
db-benchmark - reproducible benchmark of database-like ops
roapi - Create full-fledged APIs for slowly moving datasets without writing a single line of code.