ORC与Parquet列式存储的区别
ORC与Parquet列式存储
- 1、ORC与Parquet列式存储
- 2、ORC与Parquet的区别
列式存储(Columnar Storage)是一种优化的数据存储方式,与传统的行式存储(Row Storage)相比,列式存储在数据压缩、查询性能、I/O效率等方面具有明显的优势
在大数据领域中,ORC(Optimized Row Columnar)和Parquet是两种流行的列式存储格式,它们在数据压缩、查询性能、存储效率等方面有着各自的特点和优势
1、ORC与Parquet列式存储
Apache ORC是一种自描述类型感知的列式文件格式,专为Hadoop工作负载而设计。它针对大型流式读取进行了优化,并集成了快速查找所需行的支持。以列式格式存储数据可让读取器仅读取、解压缩和处理当前查询所需的值。由于ORC文件具有类型感知能力,因此写入器会选择最适合该类型的编码并在写入文件时构建内部索引
谓词下推使用这些索引来确定需要为特定查询读取文件中的哪些条带,而行索引可以将搜索范围缩小到特定的10000行集合ORC支持Hive中的完整数据类型,包括复杂类型:Struct、List、Map和Union
ORC官网:https://orc.apache.org/
Apache Parquet是一种开源的列式数据文件格式,旨在实现高效的数据存储和检索。它提供高性能压缩和编码方案来批量处理复杂数据,并且受到许多编程语言和分析工具的支持
Parquet官网:https://parquet.apache.org/
2、ORC与Parquet的区别
以下是ORC与Parquet的区别与联系:
1)相同点
- 基于Hadoop文件系统,属于线上格式,可以在节点间传递数据
- 采用列式二进制存储结构
- 采用高效的压缩
- 文件可分割,具有较强的伸缩性和并行处理能力
- 使用Schema进行自我描述
- 降低存储成本,减少磁盘I/O成本
2)不同点
| 比较项 | ORC | Parquet |
|---|---|---|
| 默认压缩 | ZLIB(压缩比较高) | Snappy压缩(压缩比较低) |
| 操作 | 支持delete、update | 不支持delete、update |
| 数据类型 | 支持collection、array、map等复杂类型 | 仅支持普通类型 |
| 谓词下推 | 支持(减少磁盘I/O成本) | 不支持 |
| 事务 | 支持ACID(原子性、隔离性、一致性、持久性),但仅限于分桶表 | 不支持事务 |
| 兼容性 | Hive、Presto | Impala、Spark、Drill、Arrow |
| 场景 | Hive | Spark |
两种列式存储格式都具有明显的优势。通过合理选择存储格式、压缩算法和查询优化技术,可以最大程度地提升数据处理和分析的效率,满足不同业务场景的需求
参考文章:https://zhuanlan.zhihu.com/p/257917645
相关文章:
ORC与Parquet列式存储的区别
ORC与Parquet列式存储 1、ORC与Parquet列式存储2、ORC与Parquet的区别 列式存储(Columnar Storage)是一种优化的数据存储方式,与传统的行式存储(Row Storage)相比,列式存储在数据压缩、查询性能、I/O效率等…...
析构函数和拷贝构造函数
文章目录 析构函数1.析构函数的定义:2.析构函数的语法:3.析构函数的特性: 拷贝构造函数1.拷贝构造函数的定义:2.拷贝构造函数的语法3.拷贝构造函数的特性(1)拷贝构造函数是构造函数的一个重载形式**(这个其实也很好理解࿰…...
sql server启动、连接 与 navicat连接sql server
一、sql server 启动 1.搜索cmd->以管理员身份运行 2.输入以下命令 net start mssqlserver 3.服务器启动成功 二、sql server连接 1.打开ssms,输入,连接 2.右键,属性 3.连接,勾选允许远程连接到此服务器 三、navicat连接sq…...
数据库测试数据准备厂商 Snaplet 宣布停止运营
上周刚获知「数据库调优厂商 OtterTune 宣布停止运营」。而今天下班前,同事又突然刷到另一家海外数据库工具商 Snaplet 也停止运营了。Snaplet 主要帮助开发团队在数据库中生成仿真度高且合规的测试数据。我们在年初还撰文介绍过它「告别手搓!Postgres 一…...
【Java09】方法(下)
1. 形参个数可变的方法 Java允许方法指定数量不确定的形参。如果在定义方法是,在最后一个形参的类型后加...,则表明该形参可以接受多个参数值。多个参数值作为数组传入: public class Varargs {public static void test(int a, String... b…...
d88888888
分析:v9999999999 vn输出n个n 先算出n的位数p 所以答案是nn*10的p次方n*10的2p次方.....n*10的(n-1)p次方 化简n*(10的0次方10的p次方10的2p次方.....10的(n-1)p次方) 后面为等比数列求和 …...
【MySQL备份】mysqldump基础篇
目录 1.简介 2.基本用途 3.命令格式 3.1常用选项 3.2常用命令 4.备份脚本 5.定时执行备份脚本 1.简介 mysqldump 是 MySQL 数据库管理系统的命令行实用程序,用于创建数据库的逻辑备份。它能够导出数据库的结构(如表结构、视图、触发器等…...
C# Halcon目标检测算法
在Halcon中进行目标检测可以使用传统的计算机视觉方法,也可以使用深度学习的方法。Halcon提供了丰富的函数库来处理这些任务,而在C#中使用Halcon,你需要通过Halcon .NET接口。 以下是使用Halcon进行目标检测的一般步骤,这里我将给…...
7.4总结
今天写了几道题目 最近,一年级学生马克西姆学习了科拉兹猜想,但他在讲课时没有太注意,所以他认为猜想中提到了以下过程: 有一个变量 $$$x$$$ 和一个常数 $$$y$$$ 。下面的操作要执行 $$$k$$$ 次: - 将 $$$x$$$ 增加…...
知识图谱查询语言的表示
文章目录 SPARQL知识图谱查询基本构成常见的SPARQL查询算子语义Markup表示语言SPARQL知识图谱查询基本构成 RDF 支持类似数据库的查询语言,叫作SPARQL,它提供了查询RDF 数据的标准语法、处理SPARQL查询的规则以及结果返回形式。 变量,RDF中的资源,以“?”或者“$”指示;…...
重生之我要学后端100--计算机网络部分概念(持续更新)
TCP/IP、DNS、负载均衡器等等 前言一、TCP/IP(传输控制协议/互联网协议)二、DNS(域名系统)三、负载均衡器其他网络概念 前言 了解网络基础知识对于后端开发者至关重要,因为这些知识有助于理解应用程序是如何在更广阔的…...
时空预测+特征分解!高性能!EMD-Transformer和Transformer多变量交通流量时空预测对比
时空预测特征分解!高性能!EMD-Transformer和Transformer多变量交通流量时空预测对比 目录 时空预测特征分解!高性能!EMD-Transformer和Transformer多变量交通流量时空预测对比效果一览基本介绍程序设计参考资料 效果一览 基本介绍…...
Vue 循环内部获取图片高度
在vue循环里面获取图片宽度或者高度,有时候会用到,则可以 <div classconmon v-for"(item, index) in items"><router-link :to"{path: /art/details,query:{artid:item.app_id,item_id:item.image_id}}"><img :src"item.src" al…...
vue动态组件与插件到底是什么?
background: yellow; } 子组件1 <ul><li v-for"item of items" :key"item"><input type"checkbox" />{{ item }}</li></ul>子组件2 PostMail 子组件3 RecycleBin  符号的含义
您已经很好地解释了 SQL 查询中 () 符号的含义,它确实用于表示左外连接(LEFT OUTER JOIN),这是 SQL 中的一种连接操作。以下是对您提供的信息的补充和完善: ### 左外连接(LEFT OUTER JOIN)&…...
基于Vue的MOBA类游戏攻略分享平台
你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:Java技术、SpringBoot框架、B/S模式、Vue.js 工具:MyEclipse、MySQL 系统展示 首页 用…...
如何在PhpStorm中运行SQL文件?
如何在PhpStorm中运行SQL文件? 提问:如何在PhpStorm中运行SQL文件? 解答:本文将详细介绍如何在PhpStorm中运行SQL文件的步骤,包括如何配置数据库连接和执行SQL脚本,并附带示例SQL代码。 1. 配置数据库连…...
Qt实现检测软件是否多开
Qt实现检测软件是否多开 在桌面软件开发中,软件通常要设置只允许存在一个进程,像一些熟知的音乐软件,QQ音乐这种。而这些软件在限制只有一个进程的同时,通常还会有双击桌面图标唤醒已运行的后台进程的功能。关于双击桌面唤醒已运…...
如何快速掌握MPC视频渲染器:面向初学者的完整教程
如何快速掌握MPC视频渲染器:面向初学者的完整教程 【免费下载链接】VideoRenderer Внешний видео-рендерер 项目地址: https://gitcode.com/gh_mirrors/vi/VideoRenderer 想要在Windows系统上获得影院级的视频播放体验吗?MPC…...
Windows键盘重映射终极指南:如何使用SharpKeys专业解决方案告别误触烦恼
Windows键盘重映射终极指南:如何使用SharpKeys专业解决方案告别误触烦恼 【免费下载链接】sharpkeys SharpKeys is a utility that manages a Registry key that allows Windows to remap one key to any other key. 项目地址: https://gitcode.com/gh_mirrors/sh…...
浏览器端音频解密技术:如何让加密音乐在本地重获新生?
浏览器端音频解密技术:如何让加密音乐在本地重获新生? 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目…...
5分钟掌握res-downloader:跨平台资源下载的终极指南
5分钟掌握res-downloader:跨平台资源下载的终极指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否经常在…...
终极指南:如何用Hindsight为聊天机器人添加长期记忆功能
终极指南:如何用Hindsight为聊天机器人添加长期记忆功能 【免费下载链接】hindsight Hindsight: Agent Memory That Learns 项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight Hindsight是一个革命性的AI代理记忆系统,专门为聊…...
HS2-HF Patch:3分钟解锁Honey Select 2完整游戏体验的技术指南
HS2-HF Patch:3分钟解锁Honey Select 2完整游戏体验的技术指南 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch HS2-HF Patch是专为Honey Select 2 L…...
SharpKeys终极指南:Windows键盘重映射的专业解决方案
SharpKeys终极指南:Windows键盘重映射的专业解决方案 【免费下载链接】sharpkeys SharpKeys is a utility that manages a Registry key that allows Windows to remap one key to any other key. 项目地址: https://gitcode.com/gh_mirrors/sh/sharpkeys 在…...
从API调用到业务落地:百度OCR车牌识别在智慧园区项目里的实战踩坑记录
从API调用到业务落地:百度OCR车牌识别在智慧园区项目里的实战踩坑记录 在智慧园区这类综合性场景中,车牌识别技术早已超越了简单的"拍照-识别"基础功能,成为连接物理空间与数字系统的关键纽带。我们团队去年承接的某大型科技园区改…...
鸿蒙PC:Qt适配OpenHarmony实战【番茄刻】:工作和休息两种倒计时如何写成一个 QML 状态机
前言 欢迎加入鸿蒙PC开发者社区,共同打造开发者工具生态:鸿蒙PC开发者社区 :https://harmonypc.csdn.net/ 项目开源地址:https://atomgit.com/lqjmac/qtfqk 我更愿意把这类 Demo 当成工程切片来看:功能要小…...
如何快速掌握BepInEx插件框架:新手的完整避坑指南
如何快速掌握BepInEx插件框架:新手的完整避坑指南 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx插件框架是Unity Mono、IL2CPP和.NET框架游戏的强大插件和模组…...
