Согласно странице проекта fastparquet , fastparquet
поддерживает различные методы сжатия
Необязательно (алгоритмы сжатия; gzip всегда доступен):
snappy (aka python-snappy)
lzo
brotli
lz4
zstandard
особенно zstandard
- это современный алгоритм, который обеспечивает высокую скорость сжатия ios, а также впечатляющую быструю скорость сжатия / декомпрессии. И это то, что я хочу в fastparquet.
Но в do c из fastparquet.write
сжатие для применения к каждому столбцу, например, GZIP или SNAPPY или вхождения типа {"col1": "SNAPPY", "col2": нет} для указания типов сжатия для каждого столбца. В обоих случаях настройки компрессора будут основными настройками компрессора. Чтобы передать аргументы нижележащему компрессору, каждая запись dict сама должна быть словарем:
{
col1: {
"type": "LZ4",
"args": {
"compression_level": 6,
"content_checksum": True
}
},
col2: {
"type": "SNAPPY",
"args": None
}
"_default": {
"type": "GZIP",
"args": None
}
}
Ничего не сказано о zstandard. Что еще хуже, если я напишу
fastparquet.write('outfile.parq', df, compression='LZ4')
Появляются ошибки о том, что
Сжатие 'LZ4' недоступно. Опции: ['GZIP', 'UNCOMPRESSED']
То есть fastparquest
поддерживает только GZIP? Это довольно несоответствие со страницы проекта! Я пропускаю некоторые пакеты? Как использовать fastparquest со всем алгоритмом сжатия, указанным на странице проекта?