Hive文件格式


Hive有四种文件格式:TextFile,SequenceFile,RCFile,ORC


TextFile

默认的格式,文本格式。

SequenceFile

简介

见:http://blog.csdn.net/zengmingen/article/details/52242768

操作

hive (zmgdb)>create table t2(str string) stored assequencefile;
OK
Time taken: 0.299 seconds
hive (zmgdb)> desc formatted t2;
OK
..............................
# Storage Information
SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
InputFormat: org.apache.hadoop.mapred.SequenceFileInputFormat
OutputFormat: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
Compressed: No

sequenceFile的表导入数据不能用load,
[root@hello110 data]# vi test_data
3
we
ew
e
re
er51
2

hive (zmgdb)> load data local inpath '/data/test_data' into table t1;
Loading data to table zmgdb.t1
OK
Time taken: 1.498 seconds
hive (zmgdb)>load data local inpath '/data/test_data' into table t2;
FAILED: SemanticException Unable to load data to destination table. Error: The file that you are trying to loaddoes not match the file format of the destination table.
要用 INSERT OVERWRITE TABLE test2 SELECT * FROM test1;开启mapreduce保存
hive (zmgdb)>insert overwrite table t2 select * from t1;
WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
Query ID = hadoop_20160914215205_992081a3-1783-4052-8da8-53e6097a2775
Total jobs = 3
Launching Job 1 out of 3
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_1473855624724_0001, Tracking URL = http://hello110:8088/proxy/application_1473855624724_0001/
Kill Command = /home/hadoop/app/hadoop-2.7.2/bin/hadoop job -kill job_1473855624724_0001
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0
2016-09-14 21:52:22,073 Stage-1 map = 0%, reduce = 0%
2016-09-14 21:52:43,733 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 2.9 sec
MapReduce Total cumulative CPU time: 2 seconds 900 msec
Ended Job = job_1473855624724_0001
Stage-4 is selected by condition resolver.
Stage-3 is filtered out by condition resolver.
Stage-5 is filtered out by condition resolver.
Moving data to directory hdfs://hello110:9000/user/hive/warehouse/zmgdb.db/t2/.hive-staging_hive_2016-09-14_21-52-05_274_2207100662758769951-1/-ext-10000
Loading data to table zmgdb.t2
MapReduce Jobs Launched:
Stage-Stage-1: Map: 1 Cumulative CPU: 2.9 sec HDFS Read: 3844 HDFS Write: 1534 SUCCESS
Total MapReduce CPU Time Spent: 2 seconds 900 msec
OK
t1.str
Time taken: 43.709 seconds
hive (zmgdb)> select * from t2;
OK
t2.str
1
2
2
43
4
dds
ads
fdsdsf
fds
ad
查看hdfs里sequencefile的原文件

sequencefile的底层保存的是二进制格式,0101010101的。


RCFile

一种行列存储相结合的存储方式。首先,其将数据按行分块,保证同一个record在一个块上,避免读一个记录需要读取多个block。其次,块数据列式存储,有利于数据压缩和快速的列存取。


hive (zmgdb)> create table rc_t1(id string) stored as rcfile;
OK
Time taken: 0.334 seconds

hive (zmgdb)> desc formatted rc_t1;
OK
col_name        data_type       comment
# col_name              data_type               comment             
                 
id                      string                                      
                 
# Detailed Table Information             
Database:               zmgdb                    
Owner:                  hadoop                   
CreateTime:             Fri Sep 23 19:21:15 CST 2016     
LastAccessTime:         UNKNOWN                  
Retention:              0                        
Location:               hdfs://hello110:9000/user/hive/warehouse/zmgdb.db/rc_t1  
Table Type:             MANAGED_TABLE            
Table Parameters:                
        COLUMN_STATS_ACCURATE   {\"BASIC_STATS\":\"true\"}
        numFiles                0                   
        numRows                 0                   
        rawDataSize             0                   
        totalSize               0                   
        transient_lastDdlTime   1474629675          
                 
# Storage Information            
SerDe Library:          org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe   
InputFormat:            org.apache.hadoop.hive.ql.io.RCFileInputFormat   
OutputFormat:           org.apache.hadoop.hive.ql.io.RCFileOutputFormat  

Compressed:             No                       
Num Buckets:            -1                       
Bucket Columns:         []                       
Sort Columns:           []                       
Storage Desc Params:             
        serialization.format    1                   
Time taken: 0.135 seconds, Fetched: 30 row(s)
hive (zmgdb)> insert overwrite table rc_t1 select * from t2;
WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
Query ID = hadoop_20160923192210_96320492-f8bf-483a-83c4-b9874fd05ef4
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_1474629517907_0001, Tracking URL = http://hello110:8088/proxy/application_1474629517907_0001/
Kill Command = /home/hadoop/app/hadoop-2.7.2/bin/hadoop job  -kill job_1474629517907_0001
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0
2016-09-23 19:22:22,091 Stage-1 map = 0%,  reduce = 0%
2016-09-23 19:22:28,446 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 1.83 sec
MapReduce Total cumulative CPU time: 1 seconds 830 msec
Ended Job = job_1474629517907_0001
Stage-4 is selected by condition resolver.
Stage-3 is filtered out by condition resolver.
Stage-5 is filtered out by condition resolver.
Moving data to directory hdfs://hello110:9000/user/hive/warehouse/zmgdb.db/rc_t1/.hive-staging_hive_2016-09-23_19-22-10_649_8279187505632970863-1/-ext-10000
Loading data to table zmgdb.rc_t1
MapReduce Jobs Launched: 
Stage-Stage-1: Map: 1   Cumulative CPU: 1.83 sec   HDFS Read: 4755 HDFS Write: 876 SUCCESS
Total MapReduce CPU Time Spent: 1 seconds 830 msec
OK
t2.id
Time taken: 19.126 seconds


hive (zmgdb)> select * from rc_t1;
OK
rc_t1.id
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17




ORC

是RCfile的优化。自带了压缩和索引


存储总结

textfile 存储空间消耗比较大,并且压缩的text 无法分割和合并 查询的效率最低,可以直接存储,加载数据的速度最高

sequencefile 存储空间消耗大,压缩的文件可以分割和合并 查询效率高,需要通过text文件转化来加载

rcfile 存储空间最小,查询的效率最高 ,需要通过text文件转化来加载,加载的速度最低





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

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

相关文章

learnpythonthehardway下载_Python【十一】:阶段小结

今天来将前一段时间学习的Python的知识系统地梳理一遍,接下来开始实际的编程实践了。 一、Python实验环境搭建 使用Python编程,首先要有一个开发环境,如同C/C上又VS2008家族一样,Linux/MacOS上的部署情况这里不再详述,…

Django 博客教程(三):创建应用和编写数据库模型

创建 django 博客应用 在上一章节中我们创建了 django 博客的工程,并且成功地运行了它。然而这一切都是 django 为我们创建的项目初始内容,django 不可能为我们初始化生成我们需要的博客代码,这些功能性代码都得由我们自己编写。 django 鼓励…

python将16进制字符串转换为整数_Python 16进制与字符串的转换

电脑上装了Python2.7和3.3两个版本,平时运行程序包括在Eclipse里面调试都会使用2.7,但是由于某些原因在cmd命令行中输入python得到的解释器则是3.3, 一直没对此做处理,因为这样可以对两个版本的差异有一个测试,而且虚拟机里面是2.…

华为读取版本exe_关于esrv_svc.exe和SurSvc.exe疑似泄露用户信息的猜测

封面图片来源:https://www.weibo.com/1885454921/GpBhR3vpk?typerepost#_rnd1573301201348抱歉,写网页文章的次数不多,排版没研究过,请原谅。下面是正题:由来:最初是借由火绒的自定义防护规则,…

flask 部署_只需10分钟!就能用Flask,Docker和Jenkins部署机器学习模型

摘要: 一杯茶的功夫部署完成机器学习模型!在生产环境中部署机器学习模型是数据工程中经常被忽视的领域。网上的大多数教程/博客都侧重于构建、训练和调整机器学习模型。如果它不能用于实际的预测,那么它又有什么用呢? 接下来了解一…

Hive 导入CSV文件

SerDe 介绍 Hive 使用如下FileFormat 类读写 HDFS files: TextInputFormat/HiveIgnoreKeyTextOutputFormat: 读写普通HDFS文本文件. SequenceFileInputFormat/SequenceFileOutputFormat: 读写SequenceFile格式的HDFS文件. Hive 使用如下SerDe 类(反)序列化数据: MetadataTyp…

腾讯云mysql架构_一个数据库存储架构的独白

本文由云社区发表本文作者:许中清,腾讯云自研数据库CynosDB的分布式存储CynosStore负责人。从事数据库内核开发、数据库产品架构和规划。曾就职于华为,2015年加入腾讯,参与过TBase(PGXZ)、CynosDB等数据库产品研发。专注于关系数据…

groupby索引有效吗_SQL IN 一定走索引吗?

摘要IN 一定走索引吗?那当然了,不走索引还能全部扫描吗?好像之前有看到过什么Exist,IN走不走索引的讨论。但是好像看的太久了,又忘记了。哈哈,如果你也忘记了MySQL中IN是如何查询的,就来复习下吧。问题问题…

推荐系统之 BPR 算法及 Librec的BPR算法实现【1】

【推荐系统之 BPR 算法】 1、关于BPR的论文原文: BPR: Bayesian Personalized Ranking from Implicit Feedback 2、参考1:论文快读 - BPR: Bayesian Personalized Ranking from Implicit Feedback (该博主的网站不错,尤其论文快…

ios 筛选_万千网友让quot;低调使用quot;的软件!居然还支持iOS

点击蓝字关注我们昨天的耳朵神器大家感觉怎么样?享受了耳朵今天我们享受一下眼睛~可能很多同学对漫画是情有独钟但是,之前小黑一直介绍的都是安卓端的软件今天要给大家介绍的这款软件是IOS安卓都有终于可以不被IOS的同学吐槽了而且经过测试小黑真的想说一…

CentOS7:JDK1.7.0_80安装

一、安装前检查 执行以下命令: rpm -qa | grep jdk 查看系统是否已经自带openjdk,如果存在 执行以下命令: yum -y remove files files为查出的、系统自带的openjdk相关文件,运行以上命令将相关文件卸载 执行命令 java -version[rootlocalhost…

spring+mybatis 多数据源整合

原文&#xff1a;http://blog.csdn.net/fhx007/article/details/12530735 ---------------------------------------------------------------------------------- 直接看spring的配置吧 <!-- 数据源配置 --> <bean id"ds1" class"org.apache.commo…

四管前级怎么去掉高低音音调_一些歌曲音调太高怎么才能唱上去??

展开全部首先得提高肺活量 然后就是练声&#xff01;怎 样 练 声&#xff1a;练声的目的1&#xff0c;使歌唱发声系统各器官的肌肉更e68a84e8a2ad62616964757a686964616f31333236373231有力&#xff0c;并能协调一致。2&#xff0c;建立正确的声音概念。3&#xff0c;扩展音域&…

java元数据是什么_用存储过程和 JAVA 写报表数据源有什么弊端?

用存储过程和 JAVA 写报表数据源有什么弊端&#xff1f;跟着小编一起来一看一下吧&#xff01;我们在报表开发中经常会使用存储过程准备数据&#xff0c;存储过程支持分步计算&#xff0c;可以实现非常复杂的计算逻辑&#xff0c;为报表开发带来便利。所以&#xff0c;报表开发…

mysql多实例安装启动_MySQL多实例安装启动

Tips&#xff1a;之前我们的一个实例是mysql3306&#xff0c;我们现在再安装一个mysql33071。和之前一样&#xff0c;创建需要的目录文件夹mkdir -p /data/mysql/mysql3307/{data,logs,tmp}创建完 就给文件授权chown -R mysql:mysql /data/mysql/mysql3307/2.进入mysql3307cd /…

用vhdl实现4位加减法计数器_32位加减法器设计

功能特性设计思路基于一位全加器&#xff0c;设计32位并行加法器。并行加法器中全加器的位数与操作数相同&#xff0c;影响速度&#xff08;延时&#xff09;的主要因素是进位信号的传递。主要的高速加法器【1】有基本上都是在超前进位加法器&#xff08;CLA&#xff09;的基础…

绿色背景配什么颜色文字_灰色裤子配什么颜色上衣好看

我们许多人都喜欢灰色。灰色是一种很酷的自然色。灰色大气而沉稳。它介于黑白之间&#xff0c;是一种多用途的颜色&#xff0c;与其他颜色搭配将变得时尚而优雅。那么秋冬季节灰色裤子配什么颜色的上衣好看呢&#xff1f;接下来就来看一组时尚大人的灰色裤子穿搭吧。look1 保温…

浮栅场效应管 符号_场效应管主要参数与特点,场效应管与其他管子的对比

场效应晶体管(Field Effect Transistor缩写(FET))简称场效应管。主要有两种类型&#xff1a;结型场效应管(junction FET—JFET)和金属-氧化物半导体场效应管(metal-oxide semiconductor FET&#xff0c;简称MOS-FET)。场效应管由多数载流子参与导电&#xff0c;也称为单极型晶体…

super go_Go 简单性的价值:来自对 Go 倍加青睐的谷歌软件工程师的自述

点击上方蓝色“Go语言中文网”关注我们&#xff0c;领全套Go资料&#xff0c;每天学习 Go 语言Go 语言最近几年逐渐获得越来越多的开发者的喜欢。在 Go 社区前不久刚刚庆祝Go诞生10周年生日之际&#xff0c;谷歌云软件工程师 Benjamin Congdon 发表个人博客(11 月 11 日发表)&a…

判断鼠标是否在元素上_是否清扫保洁、是否雾撒降尘?江城环卫车装上了北斗,动动鼠标就知道了...

楚天都市报12月1日讯(记者卢成汉 通讯员金婵 潘婷)环卫车装上北斗定位系统&#xff0c;它是否上路进行清扫保洁&#xff0c;是否雾撒降尘。城管队员通过手机或电脑&#xff0c;就可以查到它的运行状态。1日&#xff0c;东湖高新区城管执法局称&#xff0c;该区运行的北斗智能环…