Apache Parquet是Hadoop生态系统中任何项目均可使用的列式存储格式,而与选择数据处理框架,数据模型或编程语言无关。

parquet的起源:

我们创建Parquet是为了使Hadoop生态系统中的任何项目都可以使用压缩的,高效的列式数据表示形式。

Parquet是从头开始构建的,考虑了复杂的嵌套数据结构,并使用了Dremel论文中描述的记录粉碎和组装算法。我们相信这种方法优于嵌套名称空间的简单扁平化。

文件格式

阅读此文件以了解格式。

4-byte magic number "PAR1"
<Column 1 Chunk 1 + Column Metadata>
<Column 2 Chunk 1 + Column Metadata>
...
<Column N Chunk 1 + Column Metadata>
<Column 1 Chunk 2 + Column Metadata>
<Column 2 Chunk 2 + Column Metadata>
...
<Column N Chunk 2 + Column Metadata>
...
<Column 1 Chunk M + Column Metadata>
<Column 2 Chunk M + Column Metadata>
...
<Column N Chunk M + Column Metadata>
File Metadata
4-byte length in bytes of file metadata
4-byte magic number "PAR1"

在上面的示例中,此表中有N列,分为M行组。文件元数据包含所有列元数据起始位置的位置。可以在旧文件中找到有关元数据中包含的内容的更多详细信息。

在数据之后写入元数据,以允许单遍写入。

希望读者首先读取文件元数据以找到他们感兴趣的所有列块。然后应顺序读取列块。

这里只做简单介绍:

如果想细细了解,请这里走:

http://parquet.apache.org/documentation/latest/

什么是parquet文件?相关推荐

  1. 大数据:Parquet文件存储格式

    一.Parquet的组成 Parquet仅仅是一种存储格式,它是语言.平台无关的,并且不需要和任何一种数据处理框架绑定,目前能够和Parquet适配的组件包括下面这些,可以看出基本上通常使用的查询引擎 ...

  2. S3上备份的json文件转存成parquet文件

    背景: 大量falcon 监控数据打到kinesis,然后把kinesis内的数据以json格式实时备份到s3上(临时备份),为了降低成本,减少S3空间占用以及后期数据分析,计划把s3上的json文件 ...

  3. hdfs或hive的snappy.parquet文件查看

    1.安装python3环境 yum update 查询yum list python3 yum -y install python3 验证: python3 -V >>>>&g ...

  4. python语言arrows用法_如何在Python中使用pyarrow读取parquet文件

    我已经从数据库中创建了一个具有三列(id.author.title)的parquet文件,并希望使用条件(title='learnpython')读取拼花板文件. 下面提到的是我用于这个POC的pyt ...

  5. 查看parquet文件工具parquet-tools

    文章目录 下载 安装 用法 示例 下载 地址 安装 pip install parquet-tools 用法 $ parquet-tools --help usage: parquet-tools [ ...

  6. parquet存储linux文件,使用AWS Lambda读取存储在S3中的Parquet文件(Python 3)

    我正在尝试使用AWS Lambda在S3中加载,处理和编写Parquet文件.我的测试/部署过程是: 似乎有两种可能的方法,它们都在本地工作到docker容器: >带有s3fs的fastparq ...

  7. Parquet文件详解

    1.parquet文件简介 Apache Parquet是Apache Hadoop生态系统的一种免费的开源面向列的数据存储格式. 它类似于Hadoop中可用的其他列存储文件格式,如RCFile格式和 ...

  8. Presto读取Parquet文件的流程

    一.  概论 Presto对ORC和Parquet格式存储的Hive表的处理很为友好,Presto访问这两种格式表时进行了大量的优化,以致得到很为优越的性能. Presto在读取文件上和Spark等其 ...

  9. hbase查询语句_Sqoop实操|Sqoop导入Parquet文件Hive查询为null问题

    作者:余枫 1 问题重现 1.在MySQL中建表,一个bigint字段,二个varchar字段 2.在Hive中建Parquet表 create table test(s1 string commen ...

最新文章

  1. stm32 堆和栈(stm32 Heap Stack)
  2. Eclipse+CDT+MinGW搭建C++环境 (转)
  3. centos7每天定时删除备份mysql文件
  4. Python视频编辑库:MoviePy
  5. 文件读写错误坑 之 UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position
  6. asp.net下向数据库存储和读取图片示例
  7. 3ds Max 2018 在安装后无法启动或出现不稳定
  8. 简单的Delegate(委托)例子
  9. 制作Slider组件
  10. 为什么现在电脑基本没有病毒了?
  11. keepalive+lvs负载均衡及高可用总结
  12. 迭代器模式的原理和实现
  13. 废品回收小程序、APP UNIAPP开发带有用户端和回收员端
  14. win7如何计算机共享的打印机驱动程序,细说win7如何添加打印机
  15. 重新安装电脑系统,升级win10的系统经验总结
  16. 宋宝华:LEP(Linux易用剖析器) 是什么,为什么以及怎么办(1)
  17. 魅力电子学习考试小笔记
  18. centos修改root密码(centos强制修改root密码)
  19. iOS越狱开发环境搭建 theos
  20. 几个p2p开源项目[转] - 文渊阁 - 博客大巴

热门文章

  1. HDU - 5514 Frogs(容斥原理)
  2. HDU - 6393 Traffic Network in Numazu(线段树+LCA+树链剖分+并查集)
  3. debian重启ssh服务_Jenkins远程部署Linux服务器
  4. PyTorch-图像分类演示
  5. HDU3208(区间指数和)
  6. 最值反演[PKUWC2018][loj2542]随机游走
  7. QT乱码总结0.Qt乱码产生因素
  8. C++设计模式之适配器模式
  9. 一文带你理解云原生|云原生全景指南
  10. 微服务架构统一安全认证设计与实践