首页 > 其他分享 >数据存储与压缩问题

数据存储与压缩问题

时间:2023-08-21 15:34:36浏览次数:39  
标签:行组 压缩 存储 Parquet 数据 ORC

选择适合的底层数据存储格式,可以极大得提升性能。

MR中常见的数据压缩格式

Hive数据存储格式

  • TextFile:默认使用;支持压缩,压缩后的TextFile(部分压缩格式)在Hive中无法切割。
  • SequenceFile:二进制文件,内部数据是kv对形式,行存储;可切分、可压缩、支持NONE、Record、Block级别的压缩。注意:文件自身支持切分的话,压缩后就一定可以切分。
  • RCFile:行列式存储;压缩快、可分割,支持快速列存取。
  • Avro
  • ORC
  • Parquet

ORC

ORC存储的文件是一种带有模式描述的行列式存储文件,支持切分。它将数据先按行组进行切分,每个行组包含若干行,每一行组再按列进行存储。行列式存储结合了行式存储和列式存储的优点,在进行大数据量扫描读取的时候,可以按行组进行数据读取。要读取某个列的数据,可以在行组的基础上读取指定的列。

ORC文件由三部分组成:stripe,file footer,postscript。

file footer:包含了文件中stripe的列表、每个stripe的行数,以及每个列的数据类型。

stripe是ORC存储数据的地方,包含了三个部分index data、rows data、stripe footer。index data保存了所在条带的一些统计信息,还有数据在stripe中的位置索引信息。rows data是数据存储的地方,由多个行组组成,数据以流的形式进行存储,每个行组包含了metadata stream和data stream。stripe footer保存数据所在的文件目录。

postscript:含有压缩参数和压缩大小的信息。

所以我们可以在创建hive表的时候直接指定ORC的压缩类型,通过tblproperties配置orc.compress,目前支持三个参数:NONE、ZLIB、SNAPPY。默认是ZLIB,SNAPPY是用得比较多的。

Parquet

Parquet是一种新型的、与语言无关的,不与任何一种数据处理框架绑定的列式存储格式。Parquet支持Hive、Impala、Spark等框架。一个Parquet类型的Hive表文件中,数据被分成多个行组,每个行组包含多个列块,每个列块又被拆分成多个page,同时它支持切分。

Parquet和ORC类似,也记录元数据信息,压缩信息等。可以通过配置parquet.compression配置压缩格式,支持的压缩格式有uncompressed、snappy、gzip、lzo。

优化思路

  • 在数据存储层面,ORC的数据存储量是最优的。由于ORC的存储性能已经很好,并且也支持切分,所以压缩格式就选择压缩、解压缩速率快的,可以选择snappy。
  • 在多平台支持层面,Parquet相对于ORC的兼容性更好一点点。
  • 在数仓中,ODS层由于数据进来的时候一般是textFile,所以ODS层可以用TextFile;DWD和DWS可以使用ORC+Snappy,这个性能好点。最后ADS层可以使用textFile,因为需要和外部系统交互。

标签:行组,压缩,存储,Parquet,数据,ORC
From: https://www.cnblogs.com/nangk/p/17646151.html

相关文章

  • vue中export default data()外面的数据如何通过$t获取动态值
    如果将数据放到外面的`const`中,而不是在Vue组件的`data`选项中,那么无法直接通过`$t`方法来获取翻译文件的值。因为`$t`方法是Vue-i18n插件提供的实例方法,需要在Vue组件中使用。如果你想在外部使用`$t`方法来获取翻译文件的值,可以将Vue-i18n的实例导出,并在外部文件中引入该实例来......
  • 时序数据高基数问题分析与解决方法
    01WhatisHigh-Cardinality基数(Cardinality)在数学中定义是用来代表集合元素个数的标量,比如对于有限集合A={a,b,c}的基数就是3,对于无限集合也有一个基数概念,但是今天主要谈论的是计算机领域,就不在这里展开。在数据库的上下文里面,基数并没有严格的定义,但大家对基数的共识......
  • 安防视频监控平台EasyCVR视频集中存储平台接入RTSP设备出现离线情况的问题解决方案
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也具备接入AI智能分析的能......
  • 视频汇聚/视频云存储/视频监控管理平台EasyCVR视频平台添加萤火云设备的具体操作步骤
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也具备接入AI智能分析的......
  • 代理IP:跨界电商数据搜集的智能引擎
    跨界电商要实现在全球市场的有效布局,首要任务便是收集全球范围内的市场信息,竞争对手数据,以及消费者需求趋势。而这正是代理IP发挥作用的领域。多地区数据采集:代理IP技术允许企业模拟不同地区的IP地址,从而实现在全球范围内的多地区数据采集。这使得企业能够准确地了解各地的市场情......
  • 使用JMeter模拟设备通过MQTT发送数据
    需求:需要一个工具能够支持MQTT协议发送各种不同的数据。目的:模拟小型温室设备反馈,搭建一个测试环境,根据测试的数据显示硬件的状态和数值。工具:JMeter环境:需要配置Java运行环境。操作步骤:1.下载JMeter运行包下载地址:https://jmeter.apache.org/download_jmeter.cgi,下载后可以解压......
  • 开放即未来 浪潮信息推动数据中心开放网络创新
    近日,由全球最大的开放计算社区OCP主办、浪潮信息承办的OCPChinaDay2023(开放计算中国社区技术峰会)在北京举行。本届峰会以"OpenMomentum:智能化、可拓展、可持续"为主题,聚焦数据中心基础设施创新与可持续发展、开放计算创新与生态建设、社区协作创新等话题。峰会期间,浪潮信息亮相......
  • 代理IP:跨界电商数据搜集的智能引擎
    跨界电商要实现在全球市场的有效布局,首要任务便是收集全球范围内的市场信息,竞争对手数据,以及消费者需求趋势。而这正是代理IP发挥作用的领域。多地区数据采集:代理IP技术允许企业模拟不同地区的IP地址,从而实现在全球范围内的多地区数据采集。这使得企业能够准确地了解各地的市场情......
  • 查询SQL SERVER数据库会话阻塞
    SELECT[session_id],[blocking_session_id]AS'正在阻塞其他会话的会话ID',DB_NAME([database_id])AS'数据库名称',[request_id],[cpu_time],[start_time]AS'开始时间',[status]AS'状态',[command]AS'命令',......
  • 智能注塑机挤塑机工厂车间数据采集联网设备信息
    立式双色机百赞塑料机械F170F3-2C1不详I/O采集立式注塑机 东莞大禹机械 双色TY850-2R-2C 1 宏讯AK668N 智能网关立式转盘机 杭州大禹机械 HY7002RS 1 盟立 串口 智能网关立式转盘机 余姚今机机械 KT-300 1 宝捷信PS630BM 串口 智能网关卧式双色注塑机 宁波富强鑫 双色FB-2......