python支持拼花文件格式

parquet的Python项目详细描述


拼花Python

https://travis-ci.org/jcrobak/parquet-python.svg?branch=master

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java楼梯的最大高度   java Jackson从1.7.1更新到2.8.6 JsonTypeInfo子类型反序列化   Spring WebApp中的java JPA异常处理   java在SwingWorker(doInBackground)中从WorkerThread调用多个方法?   java Android Studio构建到jar   java是添加多个按钮组的更有效方法   java MySQL JDBC连接池最大大小   java如何防止元素<Integer>变成元素<Object>   Java:处理大型XML文件提取数据而不编写状态自动机?   SpringBoot和React Web应用程序中CAS的java重定向问题   需要java算法方面的帮助吗   java在JDK 16中使用PowerMock   java异常错误本机方法签名   在Java Android中将JSON映射到数组/对象   如何打开一个窗口。java程序中的dat文件   java应用程序引擎+Maven+热插拔   java Moxy的getValueByXPath为除根元素以外的所有元素返回null