【入门】what is apache orc?提高hive存储效率?怎么和hive搭配使用?

news2025/2/28 3:47:14

文章目录

    • 一. 什么是orc
    • 二. hive集成orc
    • 三. hive表属性

一. 什么是orc

官网:https://orc.apache.org/docs/

1.ORC files目标为了提高hive的存储效率,以及减少文件大小。

Back in January 2013, we created ORC files as part of the initiative to massively speed up Apache Hive and improve the storage efficiency of data stored in Apache Hadoop. The focus was on enabling high speed processing and reducing file sizes.

 
2.ORC是一种为Hadoop工作负载设计的自描述type感知式(ing) 的列格式存储文件。

ORC is a self-describing type-aware columnar file format designed for Hadoop workloads. It is optimized for large streaming reads, but with integrated support for finding required rows quickly. Storing data in a columnar format lets the reader read, decompress, and process only the values that are required for the current query.

 
3.提高大型流数据的读效率

在写入文件时ORC这边会构建一个内部索引。
其中当谓词下推使用这些索引来确定需要为特定查询读取文件中的哪些stripes,而行索引可以将搜索范围缩小到10,000行的特定集合。

Because ORC files are type-aware, the writer chooses the most appropriate encoding for the type and builds an internal index as the file is written.
 
Predicate pushdown uses those indexes to determine which stripes in a file need to be read for a particular query and the row indexes can narrow the search to a particular set of 10,000 rows.

 
4.ORC支持Hive中的完整类型集,包括复杂类型:结构、列表、映射和联合。

ORC supports the complete set of types in Hive, including the complex types: structs, lists, maps, and unions.

 
5. stripes的概念

ORC文件被划分为条,默认情况下大约为64MB。文件中的条彼此独立,形成分布式工作的自然单元。
在每个条带中,列之间是分开的,因此writer只能读取所需的列。

ORC files are divided in to stripes that are roughly 64MB by default. The stripes in a file are independent of each other and form the natural unit of distributed work. Within each stripe, the columns are separated from each other so the reader can read just the columns that are required.

 
 

二. hive集成orc

if the table is ORC. Using show create table, you get this:

ORC is well integrated into Hive, so storing your istari table as ORC is done by adding “STORED AS ORC”.

CREATE TABLE istari (
  name STRING,
  color STRING
) STORED AS ORC;

具体的实现类

STORED AS INPUTFORMAT
  ‘org.apache.hadoop.hive.ql.io.orc.OrcInputFormat’
OUTPUTFORMAT
  ‘org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat’

 
To modify a table so that new partitions of the istari table are stored as ORC files:

ALTER TABLE istari SET FILEFORMAT ORC;

 
 

三. hive表属性

Tables stored as ORC files use table properties to control their behavior. By using table properties, the table owner ensures that all clients store data with the same options.
 
所有的客户端在储存数据时都会有按照相同的属性操作。

在这里插入图片描述

官网:hive-config

 
表中添加参数:

CREATE TABLE istari (
  name STRING,
  color STRING
) STORED AS ORC TBLPROPERTIES ("orc.compress"="NONE");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/347207.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

转发一张网络工程师考试的试卷2021.5.15

网络工程师考试 单选题 (30题,每题1分,共30分) 1. 你在一个网络中实现DHCP服务,配置一些计算机成为DHCP客户端,由于工作需要,一台系统为Windows 10 的客户端要把从DHCP服务器获得的地址释放&a…

如何优化认知配比

战略可以归结为三种要素的合理配比。我们对战略的一个定义是:在终局处的判断。这其实来自于一个宗教的命题——面死而生。死是终局,生是过程,当你想做一个思想实验,或者是你真的有缘能够直面死亡,你所有关于生的认知就…

echonet-dynamic代码解读

1 综述 一共是这些代码,我们主要看echo.py,segmentation.py,video.py,config.py。 2 配置文件config.py 基于配置文件设置路径。 """Sets paths based on configuration files."""import conf…

大数据之-Nifi-了解Nifi处理器_和Nifi的其他组件---大数据之Nifi工作笔记0003

然后我们来看nifi的处理器,可以看到左上角是用来添加处理器的, 拖过来就能添加 拖过来以后,会显示一个弹框,里面会显示各种处理器,有293个..常用的都够了 可以在右边搜索以后添加 看一下常用的处理器 puthiveql:把数据写入到hive中去. 上面这3个是经常一块用的 这个publis…

Spring Boot邮件发送(powernode document)(内含源代码)

Spring Boot邮件发送(powernode document)(内含源代码) 源代码下载链接地址:https://download.csdn.net/download/weixin_46411355/87452780 目录Spring Boot邮件发送(powernode document)&…

Java企业级开发学习笔记

文章目录一、Spring1.1、Slay Dragon1.2、RescueDamselQuest一、Spring 第一周写了两个小项目均使用了原始调用和容器的方法 两个项目&#xff1a;<斩杀大龙与上路保卫战> 配一张文件位置图 1.1、Slay Dragon BraveKnight package net.sherry.spring.day01;public c…

卷积神经网络中的图像特征——以YOLOv5为例进行可视化

一、图像特征 1. 图像低层特征 图像低层特征指的是&#xff1a;边缘、颜色和纹理等特征。低层特征的分辨率较高&#xff0c;包含较多的位置、细节信息&#xff0c;但其包含的语义信息较少&#xff0c;噪声较多。原始图像和浅层卷积网络输出的特征图属于低层特征&#xff0c;从…

2023最新的接口自动化测试面试题

1、请结合你熟悉的项目&#xff0c;介绍一下你是怎么做测试的&#xff1f; -首先要自己熟悉项目&#xff0c;熟悉项目的需求、项目组织架构、项目研发接口等 -功能 接口 自动化 性能 是怎么处理的&#xff1f; -第一步&#xff1a; 进行需求分析&#xff0c;需求评审&#…

你好 ChatGPT, 帮我看下这段代码有什么问题?

点赞再看&#xff0c;动力无限。 微信搜「 程序猿阿朗 」。 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录&#xff0c;有很多系列文章。 今天一个很简单的功能&#xff0c;触发了一个 BUG&#xff0c;处理后我想起了最近爆火的 ChatGPT&#xff0c;于是我尝试测…

vscode开发的Vue家用电器维修服务系统nodejs+mysql

主要功能包括管理员&#xff1a;首页、个人中心、用户管理、维修员管理、维修信息管理、维修申请管理、维修处理管理、家电类别管理、配件信息管理、配件领用管理、维修结果管理、家电维修知识管理、公告信息管理、留言板管理&#xff0c;用户&#xff1a;首页、个人中心、维修…

Jenkins实现制作自定义镜像推送到Harbor上

Jenkins实现制作自定义镜像推送到Harbor上 1.首先需要Jenkins内部可以使用docker 在jenkins容器内部使用docker教程 2.选择对应的jenkins的job中 选择配置->构建->增加构建步骤(执行shell) mv target/*.jar docker/ docker build -t lover_story:$tag docker/ dock…

C语言进阶(一)—— 内存分区:变量和内存分布

1. 数据类型1.1 数据类型概念什么是数据类型&#xff1f;为什么需要数据类型?数据类型是为了更好进行内存的管理,让编译器能确定分配多少内存。类型是对数据的抽象;类型相同的数据具有相同的表示形式、存储格式以及相关操作;程序中所有的数据都必定属于某种数据类型;数据类型可…

注解ConfigurationProperties、EnableConfigurationProperties的用法

1 ConfigurationProperties ConfigurationProperties主要作用就是将prefix属性指定的前缀配置项的值绑定到这个JavaBean上 &#xff0c;通过指定的前缀&#xff0c;来绑定配置文件中的配置。这样的好处是将配置数据与JOPO进行转换&#xff0c;能够管理一个类别的所有配置信息&…

【零基础入门前端系列】—表单(七)

【零基础入门前端系列】—表单&#xff08;七&#xff09; 一、什么是表单 表单在Web网页中用来给访问者填写信息&#xff0c;从而采集客户信息端&#xff0c;使得网页具有交互功能。一般是将表单设计在一个HTML文档中&#xff0c;当用户填写完信息后做提交操作&#xff0c;于…

docker部署springboot项目

1、创建放置项目jar包和Dockerfile的文件夹 cd usr/ mkdir reggie cd reggie/ 2、上传Dockerfile和项目jar包 Dockerfile内容如下&#xff1a; # 基础镜像使用java FROM java:8 # 作者 MAINTAINER chenxiansheng # VOLUME 指定了临时文件目录为/tmp。 # 其效果是在主机 /v…

ElasticSearch与Kibana入门(解决报错:can not run elasticsearch as root)

ElasticSearch安装和部署 es官网 window版 选择你要的版本 解压&#xff0c;bin下bat就可以启动&#xff0c;需要配置jdk18的环境 linux版 解压&#xff1a;tar zxvf elasticsearch-6.3.2.tar.gz 启动&#xff1a;bin下执行/elasticsearch 报错org.elasticsearch.boot…

C语言初级指针应用

目录 一.什么是指针以及如何获取地址 二.间接运算符&#xff08;解引用运算符&#xff09;&#xff1a;* 三.声明指针 四.使用指针在函数进行通信 五.变量&#xff1a;名称&#xff0c;地址和值 一.什么是指针以及如何获取地址 指针是一个值为内存地址的变量&#xff08;或…

RabbitMQ相关概念介绍

这篇文章主要介绍RabbitMQ中几个重要的概念&#xff0c;对于初学者来说&#xff0c;概念性的东西可能比较难以理解&#xff0c;但是对于理解和使用RabbitMQ却必不可少&#xff0c;初学阶段&#xff0c;现在脑海里留有印象&#xff0c;随着后续更加深入的学习&#xff0c;就会很…

电源自动测试系统-电源模块批量自动化测试方案ATECLOUD-Power

1、测试名称 基于ATECLOUD的电源模块测试方案 2、测试目的 提升电源模块测试效率&#xff0c;减少测试人员成本&#xff0c;降低测试专业知识要求&#xff0c;增加数据精准度&#xff0c;为企业提供专业决策的数据支持&#xff0c;从而降本增效。 3、测试设备 示波器、电子…

20230215小结

1 t-sne 原理&#xff1a;利用两个向量之间的欧式距离转化成条件概率分布&#xff0c;可以把高维度的数据转化为低维度&#xff08;1000&#xff0c;64&#xff09;-》&#xff08;1000&#xff0c;2&#xff09;&#xff0c;原先每个样本有64维度&#xff0c;转化为2维 2 swi…