Hive培训.ppt

上传人:b****2 文档编号:2213826 上传时间:2022-10-28 格式:PPT 页数:14 大小:329KB
下载 相关 举报
Hive培训.ppt_第1页
第1页 / 共14页
Hive培训.ppt_第2页
第2页 / 共14页
Hive培训.ppt_第3页
第3页 / 共14页
Hive培训.ppt_第4页
第4页 / 共14页
Hive培训.ppt_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

Hive培训.ppt

《Hive培训.ppt》由会员分享,可在线阅读,更多相关《Hive培训.ppt(14页珍藏版)》请在冰豆网上搜索。

Hive培训.ppt

1*Hive简介Hive是基于Hadoop的一个数据仓库工具,将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换MapReduce计算任务。

其优点是学习成本低,可以通过类SQL语句(HQL)快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

类似的工具还有Yahoo的pig。

2*Hive和普通关系数据库的异同HiveRDBMS查询语言HQLSQL数据存储HDFSRawDeviceorLocalFS数据格式用户自定义分隔符特定的数据格式数据加载机制读时模式写时模式数据更新操作只支持INSERT/LOAD操作,无UPDATE和DELTEUPDATE、INSERT、DELETE索引无有执行MapReduceExcutor执行延迟高低处理数据规模大小可扩展性优良困难3*HIVE的数据存储Hive没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织Hive中的表,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据。

Hive中所有的数据都存储在HDFS中,Hive中包含以下数据模型:

Table,ExternalTable,Partition,Bucket。

1.Hive中的Table和数据库中的Table在概念上是类似的,每一个Table在Hive中都有一个相应的目录存储数据。

2.Partition对应于数据库中的Partition列的密集索引,但是Hive中Partition的组织方式和数据库中的很不相同。

在Hive中,表中的一个Partition对应于表下的一个目录,所有的Partition的数据都存储在对应的目录中。

3.Buckets对指定列计算hash,根据hash值切分数据,目的是为了并行,每一个Bucket对应一个文件。

目录实例:

/hive/data/http_temp/pt_data=1/pt_hour=20140403234*HIVE基本操作实例1、登录生产环境,sshhadoop10.46.219.32。

hadoophm-nn-ser-01$hive2、查看表hive(default)showtables;5*HIVE基本操作实例3、建表createEXTERNALtableIFNOTEXISTStest(sidbigint,ipsidstring,reqteidstring,respteidstring,imsistring,imeiint,apnstring,msisdnstring,rattypestring,lacstring,cellcistring,areastring,citystring)partitionedby(pt_datebigint)ROWFORMATDELIMITEDFIELDSTERMINATEDBY,;查看表结构hive(default)desctest;6*HIVE基本操作实例4、加载数据LOAD和LOCATIONLOAD:

HIVE装载数据没有做任何转换,加载到表中的数据只是进入相应的配置单元表的位置,纯粹的复制/移动操作。

loaddatainpath/bigData/testData/http_session/test.csvintotableipsessionpartition(pt_date=2013120300);LOCATION:

location后面跟的是目录而不是文件,hive会把整个目录下的文件都加载到表中altertabletestaddpartition(pt_date=20131206)location/bigData/testData/http_session/;7*HIVE基本操作实例5、查询数据select*fromtestlimit10;6、查询数据导出查询数据导出hive-eselectcount(*)fromtestres.txt或者hive-fsql.qres.txt(在文件sql.q编辑查询语句)8*HiveRCFile数据加载方案1、数据源文件清单加载到Hive数据仓库使用HiveLoad操作,将数据源文件清单加载到hive的数据仓库中(TEXTFILE),加载时根据节点、日期进行分区。

其操作实质在HDFS创建目录后将源文件移动其中,同时建立元数据关联。

加载一个数据源文件大概需要5-6秒。

语句实例:

loaddatainpath/bigData/recordsCheck/data2/2014012116/ip_session_2014012116overwriteintotableip_temppartition(pt_data=2,pt_hour=2014012116);加载后目录示例:

9*HiveRCFile数据加载方案2、Hive中数据文件TEXTFILE格式加载、转换为RCFILE格式由于RCFILE格式的表不能直接从文件中导入数据,数据要先导入到TEXTFILE格式的表中,然后再从TEXTFILE表中用导入到RCFILE表中。

SQL实例如下:

hive-esetmapred.job.priority=VERY_HIGH;setpress.output=true;setpress=true;setpression.codec=press.GzipCodec;setpression.codecs=press.GzipCodec;INSERTOVERWRITEtableip_rcPARTITION(pt_date=$DATE,pt_hour=$HOUR)selectsid,pid,reqteid,respteid,imsi,imei,apn,msisdn,rattype,lac,ci,area,.sys_reported_time,pt_datafromip_tempwherept_hour=$HOUR;这个加载、转换、压缩过程对集群资源消耗较大,需要较长时间。

10*HiveRCFile数据加载方案3、转换完成后调用hadoop命令删除源数据文件(HIVE临时表中的TEXTFILE)删除源数据脚本实例如下:

hadoopfs-rm-r/hive/data/ip_temp_from20140109/pt_data=1/pt_hour=2014012207/ip_session_201401220711*HiveRCFile性能测试数据数据文件大小(G)查询响应时间(seconds)MAP槽数MRCPU总时间(minutes)载入总耗时TEXTFILERCFILE压缩比查询类型TEXTFILERCFILE时间比TEXTFILERCFILEMAP比TEXTFILERCFILE时间比4549.642s2355.2407.95.77查找特定号码967.131304.033.1847387906.0013863613.84汇总号码长度2083.434714.982.9147397906.0016204573.54330.805s198.227.67.18查找特定号码422.436110.4513.82403636.4087.2332.64汇总号码长度96.69395.8061.01403636.4095.840.72.35149.398s45.77.16.44查找特定号码44.5458.0160.7796195.0517.57.82.24汇总号码长度87.77680.6721.0996195.05249.62.50平均值6.462.135.822.8512*生产上HIVE表说明目前生产环境上表名和分区结构说明如下:

三张表:

ip_rc、http_rc、pdp_rc三个分区,根据日期、小时、采集节点进行分区:

日期-pt_date-20140103小时-pt_hour-2014010312采集节点-pt_data-1HQL语句示例:

查询并导出某个号码一小时清单:

hive-eselect*fromhttp_rcwhere(pt_hour=2014010112)and(telnumberlike%15880085678%)test.txt;汇总并导出一天应用服务记录总数:

hive-eselectservice,servicename,count(*)fromip_rcwhere(pt_date=20140116)groupbyservice,servicename/data/datafile/ip20140116_service.txt【定向输出文件】13*HIVE语句规范和注意事项1、Sql测试由于集群计算资源比较宝贵,建议复杂一些的Sql语句需先在一个小时分区数据测试,测试无误后生产数据上跑;2、日期和小时分区根据日期查找,pt_date条件注意放在where条件首位,在该分区下查找,防止全表扫描。

3、字符集Hadoop和Hive都是用UTF-8编码的,所有中文必须是UTF-8编码才能正常使用,导出数据编码格式也是UTF-8。

4、String数据类型只能用like进行模糊查询。

5、只有一个reduce的场景:

a、没有groupby的汇总b、orderbyc、笛卡尔积6、JOIN只支持等值连接,目前集群资源难以支撑。

14*敬请批评指正!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1