News for hackers. Stuff that matters.
Re:Apache Arrow 3.0 by adgjlsfhk1 on Wednesday February 03, 2021 @03:25PM (#26018655)
The big thing is that it is one of the first standardized, cross language binary data formats. CSV is an OK text format, but parsing it is really slow because of string escaping. The files it produces are also pretty big since it's text.

Arrow is really fast to parse (up to 1000x faster than CSV), supports data compression, enough data-types to be useful, and deals with metadata well. The closest competitor is probably protobuf, but protobuf is a total pain to parse.

Re:Apache Arrow 3.0 by MrPowers on Wednesday February 03, 2021 @03:41PM (#26018818)
CSV is a file format and Arrow is an in memory data format.

The CSV vs Parquet comparison makes more sense. Conflating Arrow / Parquet is a pet peeve of Wes: https://news.ycombinator.com/item?id=23970586

Re:Apache Arrow 3.0 by nolta on Wednesday February 03, 2021 @04:35PM (#26019457)
To be fair, arrow absorbed parquet-cpp, so a little confusion is to be expected.
Re:Apache Arrow 3.0 by imtringued on Thursday February 04, 2021 @07:32AM (#26024802)
The worst part about CSV is that it appears to be so simple that many people don't even try to understand how complicated it is and just roll their own broken dialect instead of just using a library. There is also no standardized encoding. Delimiters have to be negotiated out of band and people love getting them wrong.
Re:Apache Arrow 3.0 by gregw2 on Thursday February 11, 2021 @10:11AM (#26102236)
Mostly agree, but RFC-4180 does specify delimiters. I've used pipe-delimited files for years to ensure explicitly-defined conformity, but recently due to the plethora of libraries have been thinking that CSV may be simpler.
Re:Apache Arrow 3.0 by aldanor on Wednesday February 03, 2021 @04:28PM (#26019372)
The closest competitor would be HDF5, not Protobuf.
Re:Apache Arrow 3.0 by makapuf on Wednesday February 03, 2021 @03:37PM (#26018785)
Seems nice. How does it compare to hdf5?
Re:Apache Arrow 3.0 by BadInformatics on Wednesday February 03, 2021 @05:42PM (#26020181)
HDF5 is pretty terrible as a wire format, so it's not a 1-1 comparison to Arrow. Generally people are not going to be saving Arrow data to disk either (though you can with the IPC format), but serializing to a more compact representation like Parquet.
Re:Apache Arrow 3.0 by gbrits on Wednesday February 03, 2021 @07:22PM (#26021069)
As I understand, arrow is particularly interesting since it’s wire format can be immediately queried/operated on without deserialization. Would saving an Arrow-structure as parquet not defeat that purpose, since your would need the costly deserialization step again on read? Honest question
Re:Apache Arrow 3.0 by BadInformatics on Wednesday February 03, 2021 @10:01PM (#26022100)
The FAQ [1] and this SO answer [2] explain it better than I can, but basically yes. However, the (de)serialization overhead is probably better than most alternative formats you could save to.

[1] https://arrow.apache.org/faq/ [2] https://stackoverflow.com/questions/56472727/difference-betw...