sqlite-parquet-vtable VS xsv

Compare sqlite-parquet-vtable vs xsv and see what are their differences.

sqlite-parquet-vtable

A SQLite vtable extension to read Parquet files (by cldellow)

xsv

A fast CSV command line toolkit written in Rust. (by BurntSushi)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
sqlite-parquet-vtable xsv
4 64
261 10,089
- -
10.0 0.0
almost 3 years ago 2 months ago
C++ Rust
Apache License 2.0 The Unlicense
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

sqlite-parquet-vtable

Posts with mentions or reviews of sqlite-parquet-vtable. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-24.
  • Universal Database
    1 project | /r/learnpython | 10 Jul 2022
    Sqlite3 has parquet extension that support parquet (https://github.com/cldellow/sqlite-parquet-vtable) as virtual table. I use sqlite3 a lot, for work and personally. It's really good, but I do have issue with large datasets, mainly due VACUUM operations. Insertion rate drops significantly when single table hits around 20M rows. Indexing is important for your query speed, but it'll impact your write speed.
  • Show HN: Easily Convert WARC (Web Archive) into Parquet, Then Query with DuckDB
    3 projects | news.ycombinator.com | 24 Jun 2022
    Well there's a virtual table extension to read parquet files in SQLite. I've not tried it myself. https://github.com/cldellow/sqlite-parquet-vtable
  • One-liner for running queries against CSV files with SQLite
    20 projects | news.ycombinator.com | 21 Jun 2022
    /? sqlite arrow

    - "Comparing SQLite, DuckDB and Arrow with UN trade data" https://news.ycombinator.com/item?id=29010103 ; partial benchmarks of query time and RAM requirements [relative to data size] would be

    - https://arrow.apache.org/blog/2022/02/16/introducing-arrow-f... :

    > Motivation: While standards like JDBC and ODBC have served users well for decades, they fall short for databases and clients which wish to use Apache Arrow or columnar data in general. Row-based APIs like JDBC or PEP 249 require transposing data in this case, and for a database which is itself columnar, this means that data has to be transposed twice—once to present it in rows for the API, and once to get it back into columns for the consumer. Meanwhile, while APIs like ODBC do provide bulk access to result buffers, this data must still be copied into Arrow arrays for use with the broader Arrow ecosystem, as implemented by projects like Turbodbc. Flight SQL aims to get rid of these intermediate steps.

    > - One cannot create a trigger on a virtual table.

    Just posted about eBPF a few days ago; opcodes have costs that are or are not costed: https://news.ycombinator.com/item?id=31688180

    > - One cannot create additional indices on a virtual table. (Virtual tables can have indices but that must be built into the virtual table implementation. Indices cannot be added separately using CREATE INDEX statements.)

    It looks like e.g. sqlite-parquet-vtable implements shadow tables to memoize row group filters. How does JOIN performance vary amongst sqlite virtual table implementations?

    > - One cannot run ALTER TABLE ... ADD COLUMN commands against a virtual table.

    Are there URIs in the schema? Mustn't there thus be a meta-schema that does e.g. nested structs with portable types [with URIs], (and jsonschema, [and W3C SHACL])?

    /? sqlite arrow virtual table

    - sqlite-parquet-vtable reads parquet with arrow for SQLite virtual tables https://github.com/cldellow/sqlite-parquet-vtable :

      $ sqlite/sqlite3
  • Show HN: WarcDB: Web crawl data as SQLite databases
    3 projects | news.ycombinator.com | 19 Jun 2022
    https://github.com/cldellow/sqlite-parquet-vtable

    But for my use case virtual would be too complicated.

xsv

Posts with mentions or reviews of xsv. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-02.
  • Show HN: TextQuery – Query and Visualize Your CSV Data in Minutes
    3 projects | news.ycombinator.com | 2 Apr 2024
    I realize it's not really that comparable since these tools don't support SQL, but a more fully functioned CLI tool is - https://github.com/BurntSushi/xsv

    They are both fairly good

  • Qsv: Efficient CSV CLI Toolkit
    8 projects | news.ycombinator.com | 22 Dec 2023
  • Joining CSV Data Without SQL: An IP Geolocation Use Case
    3 projects | news.ycombinator.com | 19 Oct 2023
    I have done some similar, simpler data wrangling with xsv (https://github.com/BurntSushi/xsv) and jq. It could process my 800M rows in a couple of minutes (plus the time to read it out from the database =)
  • Qsv: CSVs sliced, diced and analyzed (fork of xsv)
    2 projects | news.ycombinator.com | 27 Jun 2023
    xsv, which seems to be why qsv was created.

    [1] https://github.com/BurntSushi/xsv/issues/267

  • I wrote this iCalendar (.ics) command-line utility to turn common calendar exports into more broadly compatible CSV files.
    6 projects | /r/commandline | 24 Mar 2023
    CSV utilities (still haven't pick a favorite one...): https://github.com/harelba/q https://github.com/BurntSushi/xsv https://github.com/wireservice/csvkit https://github.com/johnkerl/miller
  • Icsp – Command-line iCalendar (.ics) to CSV parser
    3 projects | news.ycombinator.com | 24 Mar 2023
  • ripgrep is faster than {grep, ag, git grep, ucg, pt, sift}
    8 projects | /r/programming | 24 Mar 2023
    $ git remote -v origin [email protected]:rust-lang/rust (fetch) origin [email protected]:rust-lang/rust (push) $ git rev-parse HEAD 3b0d4813ab461ec81eab8980bb884691c97c5a35 $ time grep -ri burntsushi ./ ./src/tools/cargotest/main.rs: repo: "https://github.com/BurntSushi/ripgrep", ./src/tools/cargotest/main.rs: repo: "https://github.com/BurntSushi/xsv", grep: ./target/debug/incremental/cargotest-2dvu4f2km9e91/s-gactj3ma2j-1b10l4z-2l60ur55ixe6n/query-cache.bin: binary file matches grep: ./target/debug/incremental/cargotest-38cpmhhbdgdyq/s-gactj3luwq-1o12vgp-t61hd8qdyp7t/query-cache.bin: binary file matches grep: ./target/debug/incremental/cargotest-17632op6djxne/s-gawuq5468i-1h69nfw-4gm0s8yhhiun/query-cache.bin: binary file matches grep: ./target/debug/incremental/cargotest-2trm4kt5yom3r/s-gawuq53qqg-bjiezj-lo0gha8ign8w/query-cache.bin: binary file matches grep: ./target/debug/deps/libregex_automata-c74a6d9fd0abd77b.rmeta: binary file matches grep: ./target/debug/deps/libsame_file-a0e0363a2985455d.rlib: binary file matches grep: ./target/debug/deps/libsame_file-a0e0363a2985455d.rmeta: binary file matches grep: ./target/debug/deps/libsame_file-7251d8d3586a319b.rmeta: binary file matches grep: ./build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaho_corasick-999a08e2b700420d.rlib: binary file matches grep: ./build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libregex_automata-0d168be5d25b3ac5.rlib: binary file matches grep: ./build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libregex_automata-7d6bec0156f15da1.rlib: binary file matches grep: ./build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libregex_automata-7d6bec0156f15da1.rmeta: binary file matches grep: ./build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libaho_corasick-07dee4514b87d99b.rmeta: binary file matches grep: ./build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps/libaho_corasick-07dee4514b87d99b.rlib: binary file matches grep: ./build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libaho_corasick-999a08e2b700420d.rlib: binary file matches grep: ./build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libaho_corasick-999a08e2b700420d.rmeta: binary file matches grep: ./build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libregex_automata-0d168be5d25b3ac5.rlib: binary file matches grep: ./build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libregex_automata-0d168be5d25b3ac5.rmeta: binary file matches grep: ./build/bootstrap/debug/deps/libaho_corasick-992e1ba08ef83436.rmeta: binary file matches grep: ./build/bootstrap/debug/deps/libignore-54d41239d2761852.rmeta: binary file matches grep: ./build/bootstrap/debug/deps/libsame_file-9a5e3ddd89cfe599.rlib: binary file matches grep: ./build/bootstrap/debug/deps/libregex_automata-8e700951c9869a66.rlib: binary file matches grep: ./build/bootstrap/debug/deps/libignore-54d41239d2761852.rlib: binary file matches grep: ./build/bootstrap/debug/deps/libaho_corasick-992e1ba08ef83436.rlib: binary file matches grep: ./build/bootstrap/debug/deps/libregex_automata-8e700951c9869a66.rmeta: binary file matches grep: ./build/bootstrap/debug/deps/libsame_file-9a5e3ddd89cfe599.rmeta: binary file matches real 16.683 user 15.793 sys 0.878 maxmem 8 MB faults 0
  • Any Linux admins willing to try Pygrep?
    6 projects | /r/linuxadmin | 18 Mar 2023
    Unrelated, are you the same burntsushi that wrote xsv?
  • Analyzing multi-gigabyte JSON files locally
    14 projects | news.ycombinator.com | 18 Mar 2023
    If it could be tabular in nature, maybe convert to sqlite3 so you can make use of indexing, or CSV to make use of high-performance tools like xsv or zsv (the latter of which I'm an author).

    https://github.com/BurntSushi/xsv

    https://github.com/liquidaty/zsv/blob/main/docs/csv_json_sql...

  • What monitoring tool do you use or recommend?
    5 projects | /r/selfhosted | 6 Mar 2023
    Oh and there's rad cli shit out there for CSV files too, like xsv

What are some alternatives?

When comparing sqlite-parquet-vtable and xsv you can also consider the following projects:

duckdb - DuckDB is an in-process SQL OLAP Database Management System

csvtk - A cross-platform, efficient and practical CSV/TSV toolkit in Golang

WarcDB - WarcDB: Web crawl data as SQLite databases.

miller - Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON

zsv - zsv+lib: tabular data swiss-army knife CLI + world's fastest (simd) CSV parser

ripgrep - ripgrep recursively searches directories for a regex pattern while respecting your gitignore

sqlite_protobuf - A SQLite extension for extracting values from serialized Protobuf messages

Servo - Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine

visidata - A terminal spreadsheet multitool for discovering and arranging data

Fractalide - Reusable Reproducible Composable Software

datasette - An open source multi-tool for exploring and publishing data

svgcleaner - svgcleaner could help you to clean up your SVG files from the unnecessary data.