Добавить в корзинуПозвонить
Найти в Дзене
chernovdev

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 Скорость (проверено на 20 реальных файлах, byte-identical round-trip): - 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 https://github.com/bi

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

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

- 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

https://github.com/bintocher/qvdrs

https://crates.io/crates/qvd

————

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

https://max.ru/join/U4r4IN8vgLwYowRRsU42LWb5HmsSOSvy4ExmqTSQ0yc

https://vk.com/chernovdev

https://dzen.ru/chernovdev