Giter VIP home page Giter VIP logo

Comments (12)

jorisvandenbossche avatar jorisvandenbossche commented on July 28, 2024 10

People wanted to know where is arrow now. Therefore it has been added as is now

The main issue is that there is no such thing as "arrow" or "arrow engine" when it comes to benchmarking libraries. There is a single Arrow specification, but then there are many implementations of this specification, with varying degree of scope and performance.

The dplyr interface provided by the R arrow package is one such implementation, but eg Polars or Datafusion are just as much "arrow" while using an entirely different implementation that doesn't share any code with the R arrow package.

So I think renaming the current dplyr benchmark from "arrow" to the suggested "dplyr-arrow" (or "arrow-dplyr") makes sense.

from db-benchmark.

jorgecarleitao avatar jorgecarleitao commented on July 28, 2024 5

Thank you for your quick reply.

I do not really understand the argument: arrow is not a query engine, and it does not implement a "group by" or a "join": a group by is an operation, not a format.

In my opinion it is misleading to write "Arrow" , as it gives the sense that the arrow format is very slow, when arrow is not even something that "runs"; it is like saying that "parquet" or "ORC" are slow.

Making the case use more or less arrow automatically does not make it be more or less arrow; query engines and formats are fundamentally different notions.

Disambiguating which specific query engine implementation is being benchmarked helps users deciding what technology to adopt, and portraying Arrow as a query engine only adds confusion to this decision-making process.

I would re-consider opening this issue, at the very least to offer some time for other members of the community to weight in.

from db-benchmark.

jangorecki avatar jangorecki commented on July 28, 2024 3

Thank you for suggestion. It is arrow as it is now. It will automatically be using more arrow over time, without any adjustments (assuming that arrow API will no be changing). People were asking for adding arrow, therefore it has been added as is as of now.

from db-benchmark.

lorentzenchr avatar lorentzenchr commented on July 28, 2024 2

I'm a user not involved in neither dplyr nor arrow and the current state of names, for me, is confusing. Maybe we should trust @jorgecarleitao with this, as he is a PMC of the Apache Arrow project.

As a use, I also enjoy those benchmarks very much!

from db-benchmark.

jangorecki avatar jangorecki commented on July 28, 2024 1

@wjones127 thank you for that info. Agree about renaming. Unfortunately I am not maintainer anymore and you have to contact h2o support about any changes in this project.

from db-benchmark.

jangorecki avatar jangorecki commented on July 28, 2024

Arrow will implement groupby and join in future. Also note there is explanation at the bottom of the report page mentioning that. Arrow is query engine (or will be), it uses feather format.

from db-benchmark.

lorentzenchr avatar lorentzenchr commented on July 28, 2024

If it uses in fact dplyr, why not call it "dplyr" then? Maybe "dplyr on arrow table" and the other one "dplyr on tibble"?

from db-benchmark.

jangorecki avatar jangorecki commented on July 28, 2024

Because it is arrow as it is now. And automatically will use more of arrow engine over time, once it will be ready. Fallback to dplyr is built in to arrow package, I did not set any of these. Note that fallback doesn't yet work for join.

from db-benchmark.

jangorecki avatar jangorecki commented on July 28, 2024

Reason for adding arrow was not to show that it is as slow as dplyr but to address requests from community. People wanted to know where is arrow now. Therefore it has been added as is now (but automatically will use arrow engine more as fallback happens inside arrow).

from db-benchmark.

jorgecarleitao avatar jorgecarleitao commented on July 28, 2024

@jangorecki , can you describe what "arrow engine" is? What is its source code, what are their capabilities?

from db-benchmark.

thatcort avatar thatcort commented on July 28, 2024

I think it's great that Arrow is included, but please include other implementations. For example, it would be great to compare Datafusion to dplyr on Arrow, and similarly compare Ballista to Spark.

from db-benchmark.

wjones127 avatar wjones127 commented on July 28, 2024

The Arrow C++ engine (that supports R arrow's dplyr functionality) has now been named Acero to differentiate it from other Arrow-based engines. We can rename the benchmark to that.

from db-benchmark.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.