python支持拼花文件格式
workbenchdata-fastparquet的Python项目详细描述
fastparquet是parquet format的python实现,旨在集成 进入基于python的大数据工作流程。
并不是拼花格式的所有部分都已经实现或测试过了 请参阅下面链接的待办事项。话虽如此, FastParquet能够从 parquet-compatability 项目。
要求
(所有开发都针对默认anaconda频道中的最新版本)
必需:
- numba(需要LLVM 4.0.x)
- 努比
- 熊猫
- 赛顿
- 六
可选(压缩算法;gzip始终可用):
- snappy(又名python snappy)
- lzo
- 布罗特利
- LZ4
- Z标准
安装
使用conda安装:
conda install -c conda-forge fastparquet
从pypi安装:
pip install fastparquet
或者从github安装最新版本:
pip install git+https://github.com/dask/fastparquet
对于pip方法,numba必须以前安装过(使用conda)。
用法
正在读取
fromfastparquetimportParquetFilepf=ParquetFile('myfile.parq')df=pf.to_pandas()df2=pf.to_pandas(['col1','col2'],categories=['col1'])
您可以指定要加载哪些列,将哪些列保留为类别 (如果数据使用字典编码)。文件路径可以是单个文件, 指向其他数据文件的元数据文件,或包含 数据文件。后者通常由蜂巢/火花输出。
正在写入
fromfastparquetimportwritewrite('outfile.parq',df)write('outfile2.parq',df,row_group_offsets=[0,10000,20000],compression='GZIP',file_scheme='hive')
默认情况下,生成一个包含一个行组的输出文件 (即逻辑段)无压缩。目前,只有简单的 支持数据类型和纯编码,因此预期性能为 类似于numpy.savez。
历史记录
自2016年10月初以来,这个parquet-python的岔口 正在进行相当大的重建。我们的目标是 以及performant库,用于从python读取和编写拼花格式。