New We are sorting MAX channels into categories and territories. Read the news

qvd — чтение Qlik QVD файлов из Python и SQL



Написал open-source библиотеку для работы с QVD файлами без Qlik. Ядро на Rust, биндинги для Python.

Что умеет:

pandas / Polars / DuckDB — одной строкой:

df = qvd.read_qvd("data.qvd").to_pandas()
df = qvd.read_qvd("data.qvd").to_polars()

batch = qvd.read_qvd_to_arrow("data.qvd")
duckdb.sql("SELECT * FROM batch WHERE x > 100")



SQL-запросы к QVD через DataFusion — JOIN, GROUP BY, агрегации прямо по QVD файлам
Конвертация QVD ↔ Parquet — с компрессией (snappy, zstd, gzip, lz4)
Streaming — чтение огромных файлов по чанкам, без загрузки в память
EXISTS() — O(1) хеш-индекс, как в Qlik

Скорость (проверено реальных файлах, byte-identical roundtrip):

- 41 МБ / 465K строк / 12 колонок — чтение 0.5с, запись 0.03с
- 587 МБ / 5.4M строк / 15 колонок — чтение 6.1с, запись 0.4с
- 1.7 ГБ / 87M строк / 6 колонок — чтение 37с, запись 1.6с
- 2.8 ГБ / 11.9M строк / 42 колонки — чтение 24с, запись 2.4с

Первый и единственный QVD crate на crates.io.

`pip install qvdrs`

github.com/bintocher/qvdrs

————
Подпишись, потом забудешь!

https://max.ru/join/U4r4IN8vgLwYowRRsU42LWb5HmsSOSvy4ExmqTSQ0yc
https://vk.com/chernovdev
https://dzen.ru/chernovdev
Views: 178
Open in MAX Report an inaccuracy

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go