2016-12-09 4 views
4

Можно ли сохранить рамку данных pandas непосредственно в файл паркета? Если нет, то какой будет предлагаемый процесс?Python: сохранить кадр данных pandas в файл паркета

Цель состоит в том, чтобы отправить файл паркета в другую команду, в которой они могут использовать scala-код для чтения/открытия. Благодаря!

+0

Является ли другая команда использованием Spark или других инструментов Scala? Загрузка CSV - это Spark довольно тривиально –

+0

Если у вас есть 'pyspark', вы можете сделать что-то вроде [this] (https://gist.github.com/jiffyclub/905bf5e8bf17ec59ab8f#file-hdf_to_parquet-py) –

ответ

6

Существует относительно ранняя реализация пакета под названием fastparquet - это может быть хорошим прецедентом для того, что вам нужно.

https://github.com/dask/fastparquet

conda install -c conda-forge fastparquet 

или

pip install fastparquet 

from fastparquet import write 
write('outfile.parq', df) 

или, если вы хотите использовать некоторые параметры файла, как строка группировки/сжатия:

write('outfile2.parq', df, row_group_offsets=[0, 10000, 20000], compression='GZIP', file_scheme='hive') 
0

pyarrow имеет поддержку хранения панд dataframes:

import pyarrow 

pyarrow.Table.from_pandas(dataset) 
0

Pandas имеет основную функцию to_parquet(). Просто напишите формат данных в паркетном формате следующим образом:

df.to_parquet('myfile.parquet') 
Смежные вопросы