首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在配置单元中,orc文件比parquet文件消耗更多的空间?

在配置单元中,orc文件比parquet文件消耗更多的空间的原因有以下几点:

  1. 压缩算法:orc文件使用的是Zlib或Snappy等压缩算法,而parquet文件使用的是更高效的gzip或LZO压缩算法。这些高效的压缩算法可以在保持数据质量的同时,减小文件的大小。
  2. 列式存储:orc文件采用列式存储,将同一列的数据存储在一起,而parquet文件采用的是行式存储,将一行的数据存储在一起。由于orc文件存储方式的特点,当某个列的数据发生变化时,只需要修改该列的数据,而不需要修改整个行的数据。这样可以减少存储空间的浪费。
  3. 数据压缩率:orc文件在存储数据时,会对每个列进行单独的压缩,而parquet文件则是对整个行进行压缩。由于orc文件对每个列进行压缩,可以根据列的特点选择更适合的压缩算法,从而提高压缩率,但也会导致文件大小增加。
  4. 元数据存储:orc文件中的元数据存储相对较大,包含了每个列的数据类型、长度等信息,而parquet文件的元数据相对较小。这也是导致orc文件比parquet文件消耗更多空间的一个因素。

总结起来,orc文件比parquet文件消耗更多的空间主要是因为压缩算法、存储方式、数据压缩率和元数据存储等因素的不同。在实际应用中,可以根据具体的需求和场景选择合适的文件格式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

两种列式存储格式:ParquetORC

行组(Row Group):按照行将数据物理上划分为多个单元,每一个行组包含一定行数,一个HDFS文件至少存储一个行组,Parquet读写时候会将整个行组缓存在内存,所以如果每一个行组大小是由内存大小决定...ORC文件是自描述,它元数据使用Protocol Buffers序列化,并且文件数据尽可能压缩以降低存储空间消耗,目前也被Spark SQL、Presto等查询引擎支持,但是Impala对于...ORC文件占用存储空间也更小,这点在后面的测试对比也有所印证。...,ORC文件格式存储空间上要远优于Text格式,较之于PARQUET格式有一倍存储空间提升,导数据(insert into table select 这样方式)方面ORC格式也要优于PARQUET...,另外,本次测试主要针对是Hive引擎,所以不排除存在Hive与ORC敏感度PARQUET要高可能性。

5.3K30

Hive - ORC 文件存储格式详细解析

ORC文件是自描述,它元数据使用Protocol Buffers序列化,并且文件数据尽可能压缩以降低存储空间消耗,目前也被Spark SQL、Presto等查询引擎支持,但是Impala对于...(1)file level ORC文件末尾会记录文件级别的统计信息,会记录整个文件columns统计信息。...ORC文件占用存储空间也更小,这点在后面的测试对比也有所印证。...(2)String 对于一个String类型字段,ORC writer开始时会检查该字段值不同内容数占非空记录总数百分不超过0.8的话,就使用字典编码,字段值会保存在一个比特流,一个字节流及两个整形流...编码器一般会将一个数据流压缩成一个个小压缩单元目前实现,压缩单元默认大小是256KB。 二、Hive+ORC建立数据仓库 在建Hive表时候我们就应该指定文件存储格式。

11.5K43

一文读懂Hive底层数据存储格式(好文收藏)

ORC 数据类型 Hive 使用 ORC 文件进行存储数据时,描述这些数据字段信息、字段 类型信息及编码等相关信息都是和 ORC 存储数据放在一起。...注: Hive 中使用布隆(bloom)过滤器,可以用较少文件空间快速判定数据是否存在于表,但是也存在将不属于这个表数据判定为属于这个这表情况,这个情况称之为假正概率,可以手动调整该概率,但概率越低...Parquet 基本结构: 一个 Parquet 类型 Hive 表文件,数据被分成多个行组,每个列块又被拆分成若干页(Page),如下图所示: Parquet文件结构 Parquet 存储数据时...查询时所消耗集群资源 Parquet 类型少。 Parquet 嵌套式结构支持比较完美,而 ORC 多层级嵌套表达起来比较复杂,性能损失较大。 2....该值设置得大,可以提升 Parquet 文件读取效率,但是相应在写时候需要耗费更多内存。

5.7K51

Hive重点难点:Hive原理&优化&面试(下)

Parquet文件是以二进制方式存储,所以是不可以直接读取文件包括该文件数据和元数据,因此Parquet格式文件是自解析。...除了文件每一个行组元数据,每一页开始都会存储该页元数据,Parquet,有三种类型页:数据页、字典页和索引页。...原因是orc存储文件默认采用ZLIB压缩。snappy压缩小。 5)存储方式和压缩总结: 实际项目开发当中,hive表数据存储格式一般选择:orcparquet。...另外,第一种方式(group by)去重会转化为两个任务,会消耗更多磁盘网络I/O资源。...JVM重用可以使得JVM实例同一个job重新使用N次。N值可以Hadoopmapred-site.xml文件中进行配置。通常在10-20之间,具体多少需要根据具体业务场景测试得出。

1.5K21

ParquetORC:高性能列式存储 | 青训营笔记

ParquetORC:高性能列式存储 列存 、 行存 数据格式层概述 计算层:各种计算引擎 存储层:承载数据持久化存储 数据格式层:定义了存储层文件内部组织格式,计算引擎通过格式层支持来读写文件...OLAP OLTP:行式存储格式(行存) 每行数据文件上是连续存储,读取整行数据效率高,单次IO顺序读即可。...压缩和编码基本单元。...:记录page文件offset和pagerow range bloom filter parquet.bloom.filter.enabled 对于列基数比较大场景,或者非排序列过滤,Min-Max...算法上要复杂很多,带来cpu开销orc略大 orc算法相对简单,但是要读取更多数据 因此,这个差异对业务效果影响,取决于实际业务场景 列存演进 数仓列存 clickhousemergeTree

25910

如何通过数据仓库实现湖仓一体数据分析?

但是开发过程,团队发现在一些场景下,如字段较多大宽表扫描,扫描性能较高列存格式竟然扫描CSV行存文本格式性能还要差。...因此,如果解析一些列存格式(如ORC/PARQUET)时,如果将网络请求当作本地磁盘请求处理,高压缩所带来网络带宽占用减少不足以抵消碎片化请求带来往返时延放大,因此性能测试结果低于预期。...“预加载”缓存大小开放配置,默认大小为1MB。 3.2 列过滤与谓词下推 由于网络本身IO性能往往是低于本地存储IO性能,因此扫描外表数据时,要尽量减少IO带宽资源消耗。...ORC/Parquet格式文件,会在每一个block头部保存该block每一列数据min/max/sum等统计信息,当外表扫描时,会先读取该block头部统计信息,与下推查询条件进行比较,如果该列统计信息不符合查询条件...为了减少类型转换带来CPU消耗,进一步优化外表查询性能,ADB PG使用外表进行导出数据时,跳过类型转换步骤,直接将ADB PG数据,以二进制形式写入到外表文件,这样查询外表时,也无需进行任何数据类型转换

1.2K40

2021年大数据Hive(十):Hive数据存储格式

在行存模式下,数据按行连续存储,所有列数据都存储一个block,不参与计算IO时也要全部读出,读取操作被严重放大。...列存储往往有着高达十倍甚至更高压缩,节省了大量存储空间,降低了存储成本。 3)更高压缩意味着更小数据空间,从磁盘读取相应数据耗时更短。 4)自由压缩算法选择。...二、主流文件存储格式对比实验 从存储文件压缩和查询速度两个角度对比。.../hive/warehouse/myhive.db/log_parquet; 13.1 M  /user/hive/warehouse/log_parquet/123456_0 存储文件压缩总结:...原因是orc存储文件默认采用ZLIB压缩。snappy压缩小。 4、存储方式和压缩总结: 实际项目开发当中,hive表数据存储格式一般选择:orcparquet

1.6K40

【大数据哔哔集20210111】HDFS常用压缩算法及区别

HDFS文件类型 基于文件存储 序列化和列式存储,例如:Avro、RCFile和Parquet 压缩存储,例如Snappy、LZO等 下面我们依次来介绍。...ORC文件是自描述,它元数据使用Protocol Buffers序列化,并且文件数据尽可能压缩以降低存储空间消耗,目前也被Spark SQL、Presto等查询引擎支持。...2015年ORC项目被Apache项目基金会提升为Apache顶级项目。ORC具有以下一些优势: ORC是列式存储,有多种文件压缩方式,并且有着很高压缩 文件是可切分(Split)。...消耗, 提升性能 可以与Zlib, LZO和Snappy结合进一步压缩 压缩算法 gzip压缩 优点:压缩率比较高,而且压缩/解压速度也比较快;hadoop本身支持,应用处理gzip格式文件就和直接处理文本一样...缺点:压缩率gzip要低一些;hadoop本身不支持,需要安装;应用对lzo格式文件需要做一些特殊处理(为了支持split需要建索引,还需要指定inputformat为lzo格式)。

1K10

精选Hive高频面试题11道,附答案详细解析(好文收藏)

由于Parquet支持数据模型比较松散,可能一条记录存在比较深嵌套关系,如果为每一条记录都维护一个类似的树状结可能会占用较大存储空间,因此Dremel论文中提出了一种高效对于嵌套数据格式压缩算法...Parquet文件是以二进制方式存储,是不可以直接读取和修改Parquet文件是自解析文件包括该文件数据和元数据。...ORC: ORC文件是自描述,它元数据使用Protocol Buffers序列化,并且文件数据尽可能压缩以降低存储空间消耗。...和Parquet类似,ORC文件也是以二进制方式存储,所以是不可以直接读取,ORC文件也是自解析,它包含许多元数据,这些元数据都是同构ProtoBuffer进行序列化。...为什么要对数据仓库分层 用空间换时间,通过大量预处理来提升应用系统用户体验(效率),因此数据仓库会存在大量冗余数据。

1K10

干货 | 再来聊一聊 Parquet 列式存储格式

1.1 更高压缩 列存使得更容易对每个列使用高效压缩和编码,降低磁盘空间。...例如 parquet-mr 项目里 parquet-pig 项目就是负责把内存 Pig Tuple 序列化并按列存储成 Parquet 格式,以及反过来把 Parquet 文件数据反序列化成 Pig...因此 ORC/RC 都源于 Hive,主要用来提高 Hive 查询速度和降低 Hadoop 数据存储空间。...ParquetORC 不同点总结以下: 嵌套结构支持:Parquet 能够很完美的支持嵌套式结构,而在这一点上 ORC 支持并不好,表达起来复杂且性能和空间都损耗较大。...更新与 ACID 支持:ORC 格式支持 update 操作与 ACID,而 Parquet 并不支持。 压缩与查询性能:压缩空间与查询性能方面,ParquetORC 总体上相差不大。

2.6K40

再来聊一聊 Parquet 列式存储格式

1、更高压缩 列存使得更容易对每个列使用高效压缩和编码,降低磁盘空间。...例如 parquet-mr 项目里 parquet-pig 项目就是负责把内存 Pig Tuple 序列化并按列存储成 Parquet 格式,以及反过来把 Parquet 文件数据反序列化成 Pig...因此 ORC/RC 都源于 Hive,主要用来提高 Hive 查询速度和降低 Hadoop 数据存储空间。...ParquetORC 不同点总结以下: 嵌套结构支持:Parquet 能够很完美的支持嵌套式结构,而在这一点上 ORC 支持并不好,表达起来复杂且性能和空间都损耗较大。...更新与 ACID 支持:ORC 格式支持 update 操作与 ACID,而 Parquet 并不支持。 压缩与查询性能:压缩空间与查询性能方面,ParquetORC 总体上相差不大。

10.8K11

Hive存储格式简单介绍

一、 Hive文件存储格式  Hive支持存储格式有: textfile、sequencefile、orcparquet这几种格式。Hive 存储方式有列式存储和行式存储。...textfile和sequencefile存储格式是给予行存储;而orcparquet是基于列存储(实质上也不是完全列存储。...列存储特点: 因为每个字段数据聚集存储,查询只需要少数几个字段时候,能大大减少读取数据量;每个字段数据类型一定是相同,列式存储可以针对性设计更好设计压缩算法。...sequencefile行存储 存储空间消耗最大 压缩文件可以分割和合并 查询效率高,但需要通过text文件转化来加载 orc列存储   1.节省存储空间    2.查询效率高    3.压缩快parquet...列存储 压缩效率高  查询效率高 支持Impala查询引擎 三、如何选择hive存储格式 hive 表数据存储格式建议选择orc或者parquet,压缩方式建议选snappy。

2.7K00

嫌 OSS 查询太慢?看我们如何将速度提升 10 倍

这是因为 JuiceFS du 是基于服务器端内存实时统计好大小即时返回,而 OSS 需要通过客户端遍历目录下所有文件再累加求和,如果目录下文件更多的话,性能差距会更大。...image 随机读性能 对于分析型数仓,通常会将原始数据经过清洗后使用更为高效列存格式(Parquet 或者 ORC)来存储,一方面大幅节省存储空间,还能显著提升分析速度。...为了保证缓存数据正确性,JuiceFS 对所有写入数据都使用唯一 ID 来标识 OSS 数据块,并且永不修改,这样缓存数据就不需要失效,只空间不足时按照 LRU 算法清理即可。...ParquetORC 文件通常只有局部列是热点,缓存整个文件或者一个 64MB Chunk 会浪费空间,JuiceFS 采取是以 1MB 分块(可配置)为单位缓存机制。...我们选取查询时间比较有代表性 q2 来测试不同分块大小和缓存设置情况加速效果: image 当没有启用缓存时,使用 1MB 分块 4MB 分块性能更好,因为 4MB 分块会产生更多读放大

1.5K30

快速学习-Hive压缩和存储

用户可能需要保持默认设置文件默认值false,这样默认输出就是非压缩纯文本文件了。用户可以通过查询语句或执行脚本设置这个值为 true,来开启输出结果压缩功能。...Parquet 文件是以二进制方式存储,所以是不可以直接读取文件包括该文件数据和元数据,因此 Parquet 格式文件是自解析。...除了文件每一个行组元数据,每一页开始都会存储该页元数据, Parquet ,有三种类型页:数据页、字典页和索引页。..._0 存储文件压缩总结: ORC > Parquet > textFile 存储文件查询速度测试: TextFile hive (default)> select count(*) from log_text...原因是 orc 存储文件默认采用 ZLIB 压缩。 snappy 压缩小。 存储方式和压缩总结 实际项目开发当中,hive 表数据存储格式一般选择:orcparquet

58010

大数据技术之_08_Hive学习_04_压缩和存储(Hive高级)+ 企业级调优(Hive优化)

Parquet文件是以二进制方式存储,所以是不可以直接读取文件包括该文件数据和元数据,因此Parquet格式文件是自解析。   ...除了文件每一个行组元数据,每一页开始都会存储该页元数据,Parquet,有三种类型页:数据页、字典页和索引页。.../000000_0  | +----------------------------------------------------+--+ 存储文件压缩总结:ORC > Parquet > textFile...小结:公司Hive对数据压缩使用压缩格式是snappy,存储文件格式使用ORC格式。...JVM重用可以使得JVM实例同一个job重新使用N次。N值可以Hadoopmapred-site.xml文件中进行配置。通常在10-20之间,具体多少需要根据具体业务场景测试得出。

1.1K10

(译)优化ORCParquet文件,提升大SQL读取性能

此外,MapReduce和其他读取HDFS文件作业也会受到负面影响,因为它将涉及与HDFS更多通信以获取文件信息。...ORCParquet格式将有关列和行组信息编码到文件本身,因此,在对文件数据进行解压缩、反序列化和读取之前,需要处理元数据。...建议解决方案:压缩 避免存储级别使用小文件一个好习惯是对逻辑上属于一起目录里文件进行压缩。Big SQL,属于同一表文件通常存储同一目录。...针对ORCParquet格式进行测试方案包括: 一百万行表以两种方式存储: HDFS30个大小不一非最佳小文件 HDFS2个压缩大文件,是根据文件格式使用parquet tools或Hive...ORC格式非压缩表运行查询压缩表上运行查询多2倍时间 parquet格式非压缩表运行查询压缩表上运行查询多1.6倍时间 这是针对ORC文件格式压缩测试输出,其中SLS_SALES_FACT_ORC

2.7K31

0607-6.1.0-如何将ORC格式且使用了DATE类型Hive表转为Parquet

,推荐使用Parquet格式文件存储,这样做也是为了能够同时能够兼容Impala查询。...有些用户Hive创建大量ORC格式表,并使用了DATE数据类型,这会导致Impala无法进行正常查询,因为Impala不支持DATE类型和ORC格式文件。...1.RedHat7.4 2.CM和CDH版本为6.1.0 2 Hive ORC表转Parquet表 1.使用如下语句hive创建一个包含DATE类型ORC表,并插入测试数据 create table...2.C6版本其实已经支持了ORC格式表,但默认是禁用,可以通过Impala Daemon高级配置增加--enable_orc_scanner参数来启用,由于C6版本目前刚支持ORC格式,是否存在问题和风险有待验证...3.Impala默认是不支持DATE类,同时Impala对ParquetORC文件数据类型有严格校验,因此将Hive元数据库DATE类型修改为STRING类型后查询依然会报“Unsupported

2.2K30

Spark SQL 外部数据源

四、Parquet Parquet 是一个开源面向列数据存储,它提供了多种存储优化,允许读取单独列非整个文件,这不仅节省了存储空间而且提升了读取效率,它是 Spark 是默认文件格式。...文件 df.write.format("parquet").mode("overwrite").save("/tmp/spark/parquet/dept") 2.3 可选配置 Parquet 文件有着自己存储规则...更多可选配置可以参阅官方文档:https://spark.apache.org/docs/latest/sql-data-sources-parquet.html 五、ORC ORC 是一种自描述、类型感知文件格式...但是 Spark 程序默认是没有提供数据库驱动,所以使用前需要将对应数据库驱动上传到安装目录下 jars 目录。...指定是否应该将所有值都括引号,而不只是转义具有引号字符值。

2.3K30

Parquet文件存储格式详细解析

行组(Row Group):按照行将数据物理上划分为多个单元,每一个行组包含一定行数,一个HDFS文件至少存储一个行组,Parquet读写时候会将整个行组缓存在内存,所以如果每一个行组大小是由内存大小决定...,例如记录占用空间比较小Schema可以每一个行组存储更多行。...性能 相比传统行式存储,Hadoop生态圈近年来也涌现出诸如RC、ORCParquet列式存储格式,它们性能优势主要体现在两个方面:1、更高压缩,由于相同类型数据更容易针对不同类型列使用高效编码和压缩方式...上图展示了criteo公司Hive中使用ORCParquet两种列式存储格式执行TPC-DS基准测试结果,测试结果可以看出在数据存储方面,两种存储格式都是用snappy压缩情况下量存储格式占用空间相差并不大...ACID,但是ORC对此提供支持,但是OLAP环境下很少会对单条数据修改,更多则是批量导入。

4.8K41

【最全大数据面试系列】Spark面试题大全(二)

2)速度更快:从使用 spark sql 操作普通文件 CSV 和 parquet 文件速度对比上看,绝大多数情况会比使用 csv 等普通文件速度提升 10 倍左右,一些普通文件系统无法 spark...1)hdfs block是分布式存储最小单元,等分,可设置冗余,这样设计有一部分磁盘空间浪费,但是整齐 block 大小,便于快速找到、读取对应内容; 2)Spark partion...是弹性分布式数据集 RDD 最小单元,RDD 是由分布各个节点上 partion 组成。...partion 是指 spark 计算过程,生成数据计算空间内最小单元,同一份数据(RDD) partion 大小不一,数量不定,是根据 application 里算子和最初读入数据分块数量决定...1)如果 mapper task数量过大,依旧会产生很多小文件,此时shuffle 传递数据过程 reducer 段,reduce 会需要同时大量记录进行反序列化,导致大量内存消耗和 GC

47120
领券