python支持拼花文件格式
parquet的Python项目详细描述
拼花Python
parquet python是一个纯python实现(目前只有 读取支持)。它伴随着一个 用于读取拼花文件并将数据输出到stdout的脚本 json或tsv(没有jvm启动的开销)。性能没有 已经过优化,但它对于调试和快速查看 文件中的数据。
并不是拼花格式的所有部分都已经实现或测试过了 例如,嵌套数据请参见下面的TODOS以获取完整列表。话虽如此, Parquet Python能够从 parquet-compatability 项目。
要求
Parquet Python已经在Python2.7、3.4和3.5上进行了测试。这取决于 在thrift(0.9)和python-snappy(用于快照压缩文件)上。
开始
parquet python可以通过pypi获得,并且可以使用 pip安装镶木地板。套餐包括拼花 用于读取python文件的命令,例如parquet test.parquet。 有关完整用法,请参见“拼花地板–帮助”。
示例
parquet python目前有两个类似的编程接口 python的csv阅读器的功能。首先,它支持听写器 每行返回一个字典。其次,它有一个读者 返回每行的值列表。两个函数都需要一个类似 对象并支持一个可选的columns字段,以便只读取 指定的列。
importparquetimportjson## assuming parquet file with two rows and three columns:## foo bar baz## 1 2 3## 4 5 6withopen("test.parquet")asfo:# prints:# {"foo": 1, "bar": 2}# {"foo": 4, "bar": 5}forrowinparquet.DictReader(fo,columns=['foo','bar']):print(json.dumps(row))withopen("test.parquet")asfo:# prints:# 1,2# 4,5forrowinparquet.reader(fo,columns=['foo','bar]):print(",".join([str(r)forrinrow]))
待办事项
- 支持不推荐的位打包
- 修复重复级别和定义级别的处理
- 测试嵌套模式、空数据
- 支持通过snakebite和/或webhdfs从hdfs读取数据。
- 实现写入
- 性能评估和优化(即,与 C++,Java实现)
贡献
通过拉取请求完成。请在更改时包括测试 跟随pep8。