📝👀Fastparquet: читаем Parqufet-файлы с помощью Python
Apache Parquet – это бинарный колоночно-ориентированный формат хранения данных, изначально созданный для экосистемы Hadoop. Благодаря сжатому и эффективному представлению данных по столбцам, он очень популярен в мире Big Data. Однако, прочитать данные в формате Parquet – не самая простая задача. PySpark, конечно, справится с этим, но далеко не каждый Data Scientist работает с данными в Apache Spark. В этом случае поможет fastparquet - реализация формата Parquet на Python, которая используется проектами Dask, Pandas и др., обеспечивая высокую производительность при малом размере дистрибутива и небольшой кодовой базе. Fastparquet зависит от набора Python-библиотек (numpy, pandas, cramjam, fsspec), поэтому их следует установить заранее.
После установки через PIP-менеджер пакетов (pip install fastparquet) или с Github (pip install git+https://github.com/dask/fastparquet) содержимое Parquet-файла можно без труда передать в датафрейм в вашей привычной DS-IDE, например, Jupiter Notebook:
from fastparquet import ParquetFile
pf = ParquetFile('myfile.parq')
df = pf.to_pandas()
df2 = pf.to_pandas(['col1', 'col2'], categories=['col1'])
Или записать датафрейм в Parquet-файл, указав количество логических сегментов, кодек сжатия и схему данных:
from fastparquet import write
write('outfile.parq', df)
write('outfile2.parq', df, row_group_offsets=[0, 10000, 20000],
compression='GZIP', file_scheme='hive')
https://github.com/dask/fastparquet
https://www.anaconda.com/blog/whats-new-with-fastparquet
https://blog.datasyndrome.com/using-the-python-ml-stack-inside-pyspark-de1223942c32
https://fastparquet.readthedocs.io/en/latest/
Post #151
402