当前位置: 首页 > news >正文

hive 常见存储格式和应用场景

1.存储格式

textfile、sequencefile、orc、parquet
sequencefile很少使用(不介绍了),常见的主要就是orc 和
parquet

建表声明语句是:stored as textfile/orc/parquet

行存储:同一条数据的不同字段都在相邻位置,所以当要查找某一条记录所有数据时行存储查询速度比较快
列存储:以列来聚集数据,相同字段的值聚集在一起,所以当查询某一个指定列的所有数据时,列存储查询速度比较快

  1. Textfile

行式存储,这是hive表的默认存储格式,默认不做数据压缩,方便查看和编辑,占用空间大,I/O性能低,磁盘开销大,数据解析开销大,数据不支持分片(即代表着会带来无法对数据进行并行操作)。

  1. Orc

行列式存储,将数据按行分块,每个块按列存储,其中每个块都存储着一个索引,支持none和zlib和snappy这3种压缩方式,默认采用zlib压缩方式,不支持切片,orc存储格式能提高hive表的读取写入和处理的性能。

  1. Parquet

列式存储,是一个面向列的二进制文件格式(不可直接读取),文件中包含数据和元数据,所以该存储格式是自解析的,在大型查询时效率很快高效,parquet主要用在存储多层嵌套式数据上提供良好的性能支持,默认采用uncompressed不压缩方式。

2.压缩方式

gzip、zlib、snappy、lzo 这四种压缩方式。 压缩不会改变元数据的分割性,即压缩后原来的值不变。

建表声明语句是:tblproperties("orc.compress"="SNAPPY")

压缩率的话:gzip压缩率最佳,但压缩解压缩速度较慢
压缩速度的话:snappy压缩解压缩速度最佳,但压缩率较低
是否可切片的话:gzip/snappy/zlib是不支持切片,而lzo支持切片

3.应用场景

选压缩方式

1.数据量极其大且不经常用来做计算的数据,可采用GZip,因为其压缩占比最高,但压缩解压缩速度最慢。
2.数据量不大且经常需要用来计算的数据,可采用Snappy或者Lzo,常常还用来搭配orc和parquet存储格式实现大幅度的数据压缩存储。

选存储格式

1.hive生产环境下时常是采用orc或者parquet这2种存储格式,但最好是做好统一,别一个数仓里的表存储格式百花齐放我建议就是数仓各层统一采用orc存储格式,拥有一定的压缩率且压缩解压缩速度也适中
2.orc存储格式+zlib压缩方式适合用作数仓ODS层表设计,因为这层一般是业务贴源层来入库数据和备份,查询频率打不大,而orc存储格式+snappy压缩方式适合用作数仓DW层表设计,这公共层表一般查询较频繁,所以要考虑下查询时解压缩速度
3.一般数据量预测会很大的话才不选用orc存储格式,主要是为了避免map端数据倾斜,因为orc+snappy不支持分割文件操作,所以压缩文件只会被一个任务读取,压缩文件很大的话就会造成mapper处理该文件极其耗时,这就是所谓的map读取文件出现数据倾斜

相关文章:

hive 常见存储格式和应用场景

1.存储格式 textfile、sequencefile、orc、parquet sequencefile很少使用(不介绍了),常见的主要就是orc 和 parquet 建表声明语句是:stored as textfile/orc/parquet行存储:同一条数据的不同字段都在相邻位置&#xff…...

PyPDF2库对PDF实现读取的应用

目录 一、PyPDF2 库的使用 1. 文档打开和页面读取 2. 文本提取功能 3. 示例代码...

C++ stack用法详解

stack 栈适配器是一种单端开口的容器(如图 1 所示),实际上该容器模拟的就是栈存储结构,即无论是向里存数据还是从中取数据,都只能从这一个开口实现操作。 图 1 stack 适配器示意图 如图 1 所示,stack 适配器…...

QT案例 使用WMI获取win_32类的属性值,包括Win32提供程序类中的属性

最近涉及到读取WINDOWS 系统电脑设备的各种信息,在一些特殊的PE或者简化系统中是没有WMI查询工具的,所以就自己写了个查询大部分WMI属性值的工具,免去了查网站的功夫。涉及到的方法内容就汇总做个总结。 PS:因为工作中软件基本都是我一个人开…...

TCP/UDP 的特点、区别及优缺点

1.TCP协议 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP协议通过建立连接、数据确认(编段号和确认号)和数据重传等机制,保证了数据的可靠性…...

使用 Python 使用贝叶斯神经网络从理论到实践

一、说明 在本文中,我们了解了如何构建一个机器学习模型,该模型结合了神经网络的强大功能,并且仍然保持概率方法进行预测。为了做到这一点,我们可以构建所谓的贝叶斯神经网络。 这个想法不是优化神经网络的损失&#xff0…...

Linux 中的网站服务管理

目录 1.安装服务 2.启动服务 3.停止服务 4.重启服务 5.开机自启 6.案例 1.安装服务 网址服务程序 yum insatll httpd -y 查看所有服务 systemctl list-unit-files 2.启动服务 systemctl start httpd 查看服务进程,确认是否启动 ps -ef|grep httpd 3.停止…...

阿里云cdn设置相同的域名路径访问不同的oss目录

1.设置回源配置,添加回源URL改写 2.设置跨域,cdn的跨域优先oss 3.回源设置...

提示(Prompt)工程中提示词的开发优化基础概念学习总结

本文对学习过程进行总结,仅对基本思路进行说明,结果在不同的模型上会有差异。 提示与提示工程 提示:指的是向大语言模型输入的特定短语或文本,用于引导模型产生特定的输出,以便模型能够生成符合用户需求的回应。 提示…...

C#基础——语法学习

C#的基本语法 在介绍基本语法之前我们先来大概讲一下创建好的这些文件都是做什么的 .sln文件:将项目和解决方案项结合到一起 .vs文件夹:用来存储当前解决方案中关于用户的设置和自定义项,比如断点,主题等。(一般都将其…...

vue-实现高德地图-省级行政区地块显示+悬浮显示+标签显示

<template><div><div id"container" /><div click"showFn">显示</div><div click"removeFn">移除</div></div> </template><script> import AMapLoader from amap/amap-jsapi-load…...

flutter ‘Gradle Libs‘ was added by build file ‘app/build.gradle‘

相关问题解释文章 How to prefer settings.gradle repositories over build.gradle repositoriesMode 解释 问题描述 此问题是&#xff0c;直接创建的flutter项目&#xff0c;需要配置其他的maven仓库地址&#xff0c;和第三方module&#xff0c;结果始终都是无法成功 错误…...

Java中的链式编程风格与应用案例

引言 链式编程是一种在编程中经常使用的风格&#xff0c;它可以使代码更加简洁、易读和易于维护。在Java中&#xff0c;链式编程可以通过方法链的方式来实现。本文将介绍Java中的链式编程风格&#xff0c;并通过几个应用案例来说明其实际应用。 一、链式编程的概念与特点 链式…...

MTK Android P Sensor架构(一)

需求场景&#xff1a; 本来如果只是给传感器写个驱动并提供能读取温湿度数据的节点&#xff0c;是一件比较轻松的事情&#xff0c;但是最近上层应用的同事要求我们按照安卓标准的流程来&#xff0c;这样他们就能通过注册一个服务直接读取传感器事件数据了。这样做的好处就是第…...

低代码开发与传统软件开发:未来趋势与竞争格局

近年来&#xff0c;低代码开发平台的快速发展引起了各行各业的广泛关注。低代码开发平台简化了软件开发的复杂性&#xff0c;提供了更快速、更灵活的开发方式。于是&#xff0c;许多人开始产生一个疑问&#xff1a;未来低代码开发是否会取代传统软件开发&#xff1f;今天这篇文…...

leetcode 股票问题全序列

1 只允许一次交易&#xff0c;121题&#xff0c;买卖股票的最佳时机 class Solution {/*给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票…...

SpringBoot中日志的使用log4j2

SpringBoot中日志的使用log4j2 1、log4j2介绍 Apache Log4j2 是对 Log4j 的升级&#xff0c;它比其前身 Log4j 1.x 提供了重大改进&#xff0c;并提供了 Logback 中可用的许多改 进&#xff0c;同时修复了 Logback 架构中的一些问题&#xff0c;主要有&#xff1a; 异常处理…...

机械设备企业网站建设的效果如何

机械设备涵盖的类目比较广&#xff0c;其市场需求也是稳增不减&#xff0c;也因此无论大小企业都有增长的机会&#xff0c;当然这也需要靠谱的工具及正确的决策。 对机械设备企业来说&#xff0c;产品品质自然是首位&#xff0c;而向外打造品牌、扩展信息及拓客转化自然也是非…...

设计模式之结构型设计模式(二):工厂模式 抽象工厂模式 建造者模式

工厂模式 Factory 1、什么是工厂模式 工厂模式旨在提供一种统一的接口来创建对象&#xff0c;而将具体的对象实例化的过程延迟到子类或者具体实现中。有助于降低客户端代码与被创建对象之间的耦合度&#xff0c;提高代码的灵活性和可维护性。 定义了一个创建对象的接口&…...

算法模板之单链表图文讲解

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;算法模板、数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. ⛳️使用数组模拟单链表讲解1.1 &#x1f514;为什么我们要使用数组去模拟单链表…...

微信网页版访问技术方案:wechat-need-web扩展的智能实现

微信网页版访问技术方案&#xff1a;wechat-need-web扩展的智能实现 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 在当今数字化办公环境中&#xff…...

Kubernetes安全扫描利器KubeClaw:轻量配置审计与CI/CD集成实践

1. 项目概述&#xff1a;一个Kubernetes集群的“安全爪牙”最近在搞Kubernetes安全审计和合规检查&#xff0c;发现市面上的工具要么太重&#xff0c;要么太散&#xff0c;要么就是云厂商绑定的。直到我遇到了jianan1104/kubeclaw这个项目&#xff0c;第一眼看到这个名字就觉得…...

别再瞎配了!STM32 GPIO的8种模式到底怎么选?从按键到LED,实战场景帮你一次搞懂

STM32 GPIO模式实战指南&#xff1a;从按键到LED的精准配置策略 在嵌入式开发领域&#xff0c;GPIO&#xff08;通用输入输出&#xff09;作为最基础却至关重要的接口&#xff0c;其配置模式的选择往往决定了整个系统的稳定性和响应效率。许多初学者在理论学习阶段能够清晰区分…...

汽车电子新焦点:L1-L3渐进式智能驾驶的技术机遇与实现路径

1. 从“全自动驾驶”的狂热到“渐进式智能”的务实回归最近刚从几个汽车电子圈的重磅展会回来&#xff0c;包括底特律的AutoSens、中国的Tech.AD以及圣克拉拉的嵌入式视觉峰会。一圈跑下来&#xff0c;一个强烈的感受是&#xff1a;行业的风向&#xff0c;真的变了。几年前&…...

3个实用技巧让magnetW磁力搜索工具发挥最大价值

3个实用技巧让magnetW磁力搜索工具发挥最大价值 【免费下载链接】magnetW [已失效&#xff0c;不再维护] 项目地址: https://gitcode.com/gh_mirrors/ma/magnetW 虽然magnetW项目已标注"不再维护"&#xff0c;但这并不妨碍它继续为技术爱好者和普通用户提供高…...

终极开源气象服务:Open-Meteo完整部署与深度应用指南

终极开源气象服务&#xff1a;Open-Meteo完整部署与深度应用指南 【免费下载链接】open-meteo Free Weather Forecast API for non-commercial use 项目地址: https://gitcode.com/GitHub_Trending/op/open-meteo Open-Meteo是一款革命性的开源天气数据服务平台&#xf…...

文档播客化最后窗口期!NotebookLM v2.3新增音频锚点功能,不升级将永久丢失时间戳同步能力

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;文档播客化的时代必然性与NotebookLM v2.3战略定位 当知识消费从线性阅读转向多模态沉浸&#xff0c;文档不再静默——它开始“说话”。NotebookLM v2.3 的发布并非功能迭代&#xff0c;而是一次范式迁…...

命令行状态监控新思路:打造你的智能手表终端看板

1. 项目概述&#xff1a;一个为命令行爱好者打造的“腕上终端”如果你和我一样&#xff0c;是个重度依赖命令行&#xff08;CLI&#xff09;工作的开发者、运维或者极客&#xff0c;那你一定有过这样的体验&#xff1a;眼睛紧盯着屏幕&#xff0c;手指在键盘上飞舞&#xff0c;…...

企业知识产权管理痛点与解决方案系列解说四

知识产权管理人员在对申请的知识产权文件资料进行管理时&#xff0c;每次收到专利局发来的官文通知书数据包&#xff0c;都需要手动解压&#xff0c;判别状态后再上传至对应的管理系统中&#xff0c;完成后续的案件管理任务。在专利案件量比较大时&#xff0c;逐一修改案件状态…...

3个技巧让Clipy彻底改变你的macOS剪贴板使用体验

3个技巧让Clipy彻底改变你的macOS剪贴板使用体验 【免费下载链接】Clipy Clipboard extension app for macOS. 项目地址: https://gitcode.com/gh_mirrors/cl/Clipy 你是不是经常遇到这样的情况&#xff1a;刚刚复制了一段重要信息&#xff0c;又复制了其他内容&#xf…...