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

Hive使用ORC格式存储离线表

在大数据时代,列式存储变得越来越流行了,当然并不是说行式存储就没落了,只是针对的场景不同,行式存储的代表就是我们大多数时候经常用的数据库,比较适合数据量小,字段数目少,查询性能高的场景,列式存储主要针对大多数互联网公司中的业务字段数目多...比较适合存储嵌套类型的数据,如json,avro,probuf,thrift等 Apache ORC是对RC格式的增强,支持大多数hive支持的数据类型,主要在压缩和查询层面做了优化。...Sequencefile:二进制格式 rcfile:面向列的二进制格式 orc:rcfile的增强版本,列式存储 parquet:列式存储,对嵌套类型数据支持较好 hive文件支持压缩方式...下面看下具体以orc为例子的场景实战: 需求: 将Hbase的表的数据,加载到Hive中一份,用来离线分析使用。...格式,无法直接从text加载到hive表中,所以需要加入一个中间临时表,用于中转数据,先将 text数据导入一个文件格式weitextfile的表,然后再把这个表的数据直接导入orc的表,当然现在我们的数据源

6K100

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

一、ORC File文件结构 ORC的全称是(Optimized Row Columnar),ORC文件格式是一种Hadoop生态圈中的列式存储格式,它的产生早在2013年初,最初产生自Apache...ORC文件是自描述的,它的元数据使用Protocol Buffers序列化,并且文件中的数据尽可能的压缩以降低存储空间的消耗,目前也被Spark SQL、Presto等查询引擎支持,但是Impala对于...ORC目前没有支持,仍然使用Parquet作为主要的列式存储格式。...因此,在Hive中使用ORC作为表的文件存储格式,不仅节省HDFS存储资源,查询任务的输入数据量减少,使用的MapTask也就减少了。...ORC文件格式只支持读取指定字段,还不支持只读取特殊字段类型中的指定部分。 使用ORC文件格式时,用户可以使用HDFS的每一个block存储ORC文件的一个stripe。

10.6K43
您找到你想要的搜索结果了吗?
是的
没有找到

ORC文件存储格式的深入探究

Hive中的文件存储格式该选什么? 然后在找到这个关于ORC的文章。...Record Columnar),使用ORC文件格式可以提高hive读、写和处理数据的能力。...图1-ORC文件结构图 二、ORC数据存储方法 在ORC格式的hive表中,记录首先会被横向的切分为多个stripes,然后在每一个stripe内数据以列为单位进行存储,所有列的内容都保存在同一个文件中...在Hive-0.13中,ORC文件格式只支持读取指定字段,还不支持只读取特殊字段类型中的指定部分。 使用ORC文件格式时,用户可以使用HDFS的每一个block存储ORC文件的一个stripe。...这样,下一个stripe又会从下一个block开始存储。 三、索引 在ORC文件中添加索引是为了更加高效的从HDFS读取数据。在ORC文件中使用的是稀疏索引(sparse indexes)。

6.9K40

两种列式存储格式:Parquet和ORC

Parquet存储格式 Apache Parquet是Hadoop生态圈中一种新型列式存储格式,它可以兼容Hadoop生态圈中大多数计算框架(Mapreduce、Spark等),被多种查询引擎支持(Hive...ORC文件是自描述的,它的元数据使用Protocol Buffers序列化,并且文件中的数据尽可能的压缩以降低存储空间的消耗,目前也被Spark SQL、Presto等查询引擎支持,但是Impala对于...ORC目前没有支持,仍然使用Parquet作为主要的列式存储格式。...通过这三种文件存储格式的测试对比,ORC文件存储格式无论是在空间存储、导数据速度还是查询速度上表现的都较好一些,并且ORC可以一定程度上支持ACID操作,社区的发展目前也是Hive中比较提倡使用的一种列式存储格式...对于大数据场景下的数据分析需求,使用这两种存储格式总会带来存储和性能上的提升,但是在实际使用时还需要针对实际的数据进行选择。

4.5K30

【踩坑实录】hive修改存储格式-orc格式修改为text

目录 一、orc格式修改为text 1.问题描述 2.表结构 3.报错内容 4.定位原因 5.解决办法 二、text格式修改为orc ---- 一、orc格式修改为text 1.问题描述 一张orc格式的表...Changing file format (from ORC) is not supported for table 4.定位原因 这个方法只支持原先是text格式的表转为orc格式,那只是修改了表属性...,但文件存储格式还是text的,查询时会出现解析错误。 ...不支持从orc格式转为text格式。 5.解决办法 新建一张text格式表,将orc格式表数据插入进去,删除原表。...二、text格式修改为orc --改变格式 alter table 表名 set fileformat orc; --设置 INPUTFORMAT、OUTPUTFORMAT、SERDE ALTER TABLE

2.1K60

Presto对ORC格式的优化

参考文章:https://prestosql.io/blog/2019/04/23/even-faster-orc.html 最近Presto的官网发表了一篇文章,叙述了新版本的Presto对ORC格式读取的性能优化过程...在 TPC-DS benchmark 测试中,对于 ORC 格式新的读取方式 Presto 总的查询耗费时间减少了约5%,CPU使用量减少了约9%。 What improved?...ORC格式对数据的解码分为两个步骤:第一步是使用传统的压缩格式(例如,gzip)去减少数据的存储空间;第二步是针对特定的数据类型使用特定的压缩算法去将原生的byte类型变成Value(例如text、number...但是ORC格式对于一些数据类型,例如 booleans、numbers、bytes 等,使用不同的 batch size 性能会更好(将对 float 和 double 类型的读取从loading a...对使用zlib压缩算法的ORC格式进行测试,结果如下。

2.5K40

大数据文件格式对比 Parquet Avro ORC 特点 格式 优劣势

如何使用它为一个特定的用例和特定的数据管道。数据可以存储为可读的格式如JSON或CSV文件,但这并不意味着实际存储数据的最佳方式。...它使用JSON来定义数据类型和通讯协议,使用压缩二进制格式来序列化数据。...RC/ORC最初是在Hive中得到使用,最后发展势头不错,独立成一个单独的项目。Hive 1.x版本对事务和update操作的支持,便是基于ORC实现的(其他存储格式暂不支持)。...不同点 行式存储or列式存储:Parquet和ORC都以列的形式存储数据,而Avro以基于行的格式存储数据。...可兼容的平台:ORC常用于Hive、Presto; Parquet常用于Impala、Drill、Spark、Arrow; Avro常用于Kafka、Druid。

3.9K21

澄清 | snappy压缩到底支持不支持split? 为啥?

、也可以用snappy压缩算法来压缩,用完这些压缩算法后,该文件还是orc格式spark源码中看,文件格式的实现类是上面几种,没有见有snappy、zlib文件格式的。...以orc为例分析snappy是怎么作用到容器类的文件格式上的 orc文件格式本身可切分的 orc虽然是二进制存储,但因为orc中提供了各种索引,使得在读取数据时支持从指定任意一行开始读取,所以,orc...文件压缩 在orc格式的hive表中,记录首先会被横向的切分为多个stripes,然后在每一个stripe内数据以列为单位进行存储。...Postscript:含有压缩参数和压缩大小相关的信息 而orc在压缩时,压缩算法起作用的地方是数据流,也就是上图右侧的红色圈出的部分: orc文件使用两级压缩机制,首先将一个数据流使用流式编码器进行编码...File Footer也没有被snappy压缩 综上,我们知道orc使用snappy压缩后,索引信息还在,这就使得在压缩后,仍然能支持从指定任意一行开始读取。

1.8K20

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

例如Spark可以使用YARN作为资源管理器,Spark也可以处理Hbase和HDFS上的数据。...Hive存储与压缩 Hive存储格式 Hive支持的存储数的格式主要有:TEXTFILE(行式存储) 、SEQUENCEFILE(行式存储)、ORC(列式存储)、PARQUET(列式存储)。...ORC格式 Orc (Optimized Row Columnar)是hive 0.11版里引入的新的存储格式。...原因是orc存储文件默认采用ZLIB压缩。比snappy压缩的小。 5)存储方式和压缩总结: 在实际的项目开发当中,hive表的数据存储格式一般选择:orc或parquet。...我们使用同样数据及SQL语句,只是数据存储格式不同,得到如下执行时长: 注:CPU时间:表示运行程序所占用服务器CPU资源的时间。

1.4K20

Warning: Ignoring non-Spark config property: hive.exec.orc.default.stripe.size相关

1.背景:在日常的处理中发现了Warning: Ignoring non-Spark config property: hive.exec.orc.default.stripe.size这样的一个日志,..., "BI"以上这两个参数一起使用.3.原理剖析: 见配置可以得知,该配置是针对orc进行相关设置的配置---hive.exec.orc首先我们来看下orc file,ORC File,它的全名是...Optimized Row Columnar (ORC) file,实际上是对RCFile做了一些优化.这种文件格式可比较高效的来存储Hive数据.它的设计目标是来克服Hive其他格式的缺陷.运用ORC...File可以提高Hive的读、写以及处理数据的性能.和RCFile格式相比.ORC File格式有以下优点:(1)、每个task只会输出单个文件,这样可以减少NameNode的负载.(2)、支持各种复杂的数据类型...hive源码可知,此配置hive,spark,tez均适用.图片官方提供的配置描述如下所示:HIVE_ORC_SPLIT_STRATEGY("hive.exec.orc.split.strategy",

98640

Spark SQL 外部数据源

CSV JSON Parquet ORC JDBC/ODBC connections Plain-text files 1.2 读数据格式 所有读取 API 遵循以下调用格式: // 格式 DataFrameReader.format...四、Parquet Parquet 是一个开源的面向列的数据存储,它提供了多种存储优化,允许读取单独的列非整个文件,这不仅节省了存储空间而且提升了读取效率,它是 Spark 是默认的文件格式。...更多可选配置可以参阅官方文档:https://spark.apache.org/docs/latest/sql-data-sources-parquet.html 五、ORC ORC 是一种自描述的、类型感知的列文件格式...5.1 读取ORC文件 spark.read.format("orc").load("/usr/file/orc/dept.orc").show(5) 4.2 写入ORC文件 csvFile.write.format...("orc").mode("overwrite").save("/tmp/spark/orc/dept") 六、SQL Databases Spark 同样支持与传统的关系型数据库进行数据读写。

2.3K30

0767-Hive ACID vs. Delta Lake

Qubole现在使用的Hive3.1支持事务,用户可以使用Hive的DML语句对以ORC格式保存的数据进行追加(append),更新(update)和删除(delete),如果是Parquet格式的数据则只能进行追加...读取Hive ACID事务表,可以联系Qubole的技术支持customersupport@qubole.com 2.3 用法示例 以下是具有完整ACID表(当前仅支持ORC格式)的典型流程示例: 1....").options(Map("table" -> "default.acidtbl")).load() scala> df.collect() 对于已有的ORC格式数据文件,你也可以直接使用Hive...由于云存储与HDFS语义上的差异,在云中使用此类工具不可避免会碰到一些问题,这里强调两点: 云存储中重命名(renames)开销特别大 - Hive在写入数据的时候,首先会将其写入临时位置,然后在最后的提交步骤中将其重命名为最终位置...Qubole使用的Hive3.1中已包含该补丁。 3.4 Spark实现 如之前提到的,我们正在开发使用Spark读取Hive ACID事务表功能,并将这块功能开源,我们想选择一种易于开源的设计方法。

1.9K20

稀疏矩阵存储格式

【注】参考自: 稀疏矩阵存储格式总结+存储效率对比:COO,CSR,DIA,ELL,HYB。...存储格式 相较于一般的矩阵存储格式,即保存矩阵所有元素,稀疏矩阵由于其高度的稀疏性,因此需要更高效的存储格式。...2.1 Coordinate(COO) image.png 每个非 0 元素使用一个三元组来表示——(行号,列号,数值)。实际存储分三个数组存储,分别表示行索引、列索引、数值。...3.2 存储效率 CSR 格式存储稀疏矩阵时非零元素平均使用的字节数最为稳定;DIA 格式存储稀疏矩阵时非零元素平均使用的字节数与矩阵类型关联较大,该格式更适合 Structured Mesh 结构的稀疏矩阵...,对于 Unstructured Mesh 和 Random Matrix,DIA 格式使用的字节数是 CSR 的十几倍。

1.4K10

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

,所以可以直接使用 load 方式加载数据,其他存储格式则不能使用 load 直接导入数据文件。...在 Hive 中使用 ORC 作为表的文件存储格式,不仅节省 HDFS 存储资源,查询任务的输入数据量减少,使用的 MapTask 也就减少了。...ORC 的数据类型 Hive 在使用 ORC 文件进行存储数据时,描述这些数据的字段信息、字段 类型信息及编码等相关信息都是和 ORC存储的数据放在一起的。...使用Spark引擎时 Parquet 表的压缩格式配置: Spark 天然支持 Parquet,并为其推荐的存储格式(默认存储为parquet)。...因此,spark.sql.parquet.compression.codec 配置项只适用于设置非分区表的 Parquet 压缩格式。 4.

5K51

(六)Hive优化

———————————————— 小文件问题的解决方案 从小文件产生的途经就可以从源头上控制小文件数量,方法如下: 1.使用Sequencefile作为表存储格式,不要用textfile,在一定程度上可以减少小文件...4.存储格式: 可以使用列裁剪,分区裁剪,orc,parquet等存储格式。 Hive支持ORCfile,这是一种新的表格存储格式,通过诸如谓词下推,压缩等技术来提高执行速度提升。...将这些表格转换为ORCFile格式通常会显着减少查询时间: ORC支持压缩存储使用ZLIB或如上所示使用SNAPPY),但也支持未压缩的存储。...A_ORC.customerID=B_ORC.customerID; 5.压缩格式: 压缩格式 UNIX工具 算 法 文件扩展名 可分割 DEFLATE 无 DEFLATE .deflate No gzip...Time(s).png 大数据场景下存储格式压缩格式尤为关键,可以提升计算速度,减少存储空间,降低网络io,磁盘io,所以要选择合适的压缩格式存储格式,那么首先就了解这些东西,作者以前博客已经进行了详细的说明

2.1K10
领券