zoukankan      html  css  js  c++  java
  • Parquet

    Parquet是可用于Hadoop生态系统中任何项目的开源文件格式。与基于行的文件(例如CSV或TSV文件)相比,Apache Parquet旨在提供高效且高性能的扁平列式数据存储格式。

    Parquet使用记录粉碎和组装算法,该算法优于嵌套名称空间的简单拼合。Parquet经过优化,可以批量处理复杂的数据,并采用不同的方式进行有效的数据压缩和编码类型。这种方法最适合需要从大型表读取某些列的查询。Parquet只能读取所需的列,因此大大减少了IO。

    以列格式存储数据的优点:
    与CSV等基于行的文件相比,像Apache Parquet这样的列式存储旨在提高效率。查询列式存储时,您可以非常快地跳过无关数据。结果,与面向行的数据库相比,聚合查询耗时更少。这种存储方式已转化为节省硬件和最小化访问数据的延迟。
    Apache Parquet是从头开始构建的。因此,它能够支持高级嵌套数据结构。Parquet数据文件的布局已针对处理大量数据的查询进行了优化,每个文件的千兆字节范围内。
    Parquet构建为支持灵活的压缩选项和有效的编码方案。由于每一列的数据类型非常相似,因此每一列的压缩非常简单(这使查询更快)。可以使用几种可用的编解码器之一压缩数据。结果,可以不同地压缩不同的数据文件。
    Apache Parquet最适合与AWS Athena,Amazon Redshift Spectrum,Google BigQuery和Google Dataproc等交互式和无服务器技术配合使用。
    Parquet和CSV的区别
    CSV是一种简单且广泛使用的格式,许多工具(例如Excel,Google表格和其他工具)都使用CSV来生成CSV文件。即使CSV文件是数据处理管道的默认格式,它也有一些缺点:

    Amazon Athena和Spectrum将根据每个查询扫描的数据量收费。
    Google和Amazon将根据GS / S3上存储的数据量向您收费。
    Google Dataproc收费是基于时间的。
    Parquet帮助其用户将大型数据集的存储需求减少了至少三分之一,此外,它大大缩短了扫描和反序列化时间,从而降低了总体成本。

    下表比较了通过将数据从CSV转换为Parquet所节省的成本以及提速。

    数据集

    Amazon S3的大小

    查询运行时间

    扫描数据

    成本

    数据存储为CSV文件

    1 TB

    236秒

    1.15 TB

    $ 5.75

    以Apache Parquet格式存储的数据

    130 GB

    6.78秒

    2.51 GB

    $ 0.01

    积蓄

    使用镶木地板时减少87%

    快34倍

    扫描数据减少99%

    节省99.7%

  • 相关阅读:
    101-PHP二维数组的元素输出三,封装成函数
    100-PHP二维数组的元素输出三
    099-PHP二维数组的元素输出二
    098-PHP二维数组的元素输出
    097-PHP循环使用next取数组元素二
    096-PHP循环使用next取数组元素
    095-PHP遍历关联数组,并修改数组元素值
    094-PHP遍历索引数组和关联数组
    093-PHP数组比较
    092-PHP定义索引数组
  • 原文地址:https://www.cnblogs.com/tree1123/p/13433717.html
Copyright © 2011-2022 走看看