第03章-Hive分布式数据仓库_第1页
第03章-Hive分布式数据仓库_第2页
第03章-Hive分布式数据仓库_第3页
第03章-Hive分布式数据仓库_第4页
第03章-Hive分布式数据仓库_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汪孟德/wwx7118422020.03.12黄浩洋/hwx690472优化Hive技术原理ApacheHive数据仓库软件有助于使用SQL读取,写入和管理驻留在分布式存储中的大型数据集。可以将结构投影到已经存储的数据上。提供了命令行工具和JDBC驱动程序以将用户连接到Hive。学完本章节后,您将能够:掌握Hive应用场景与基本原理掌握Hive的架构和运行流程熟悉常用HiveSQL语句Hive概述Hive功能与架构Hive基本操作Hive简介Hive是基于Hadoop的数据仓库软件,可以查询和管理PB级别的分布式数据。Hive特性:灵活方便的ETL(extract/transform/load)。支持Tez,Spark等多种计算引擎。可直接访问HDFS文件以及HBase。易用易编程。Hive的应用场景数据挖掘每天/每周用户点击数流量统计非实时分析日志分析文本分析数据汇总用户行为分析兴趣分区区域展示数据仓库数据抽取数据加载数据转换Hive与传统数据仓库比较(1)Hive传统数据仓库存储HDFS,理论上有无限拓展的可能。集群存储,存在容量上限,而且伴随容量的增长,计算速度急剧下降只能适应于数据量比较小的商业应用,对于超大规模数据无能为力。执行引擎默认执行引擎Tez。可以选择更加高效的算法来执行查询,也可以进行更多的优化措施来提高速度。使用方式HQL(类似SQL)SQL灵活性元数据存储独立于数据存储之外,从而解耦合元数据和数据。低,数据用途单一分析速度计算依赖于集群规模,易拓展,在大数据量情况下,远远快于普通数据仓库。在数据容量较小时非常快速,数据量较大时,急剧下降。Hive与传统数据仓库比较(2)Hive传统数据仓库索引效率较低。高效。易用性需要自行开发应用模型,灵活度较高,但是易用性较低。集成一整套成熟的的报表解决方案,可以较为方便的进行数据的分析。可靠性数据存储在HDFS,可靠性高,容错性高。可靠性较低,一次查询失败需要重新开始。数据容错依赖于硬件Raid。依赖环境依赖硬件较低,可适应一般的普通机器。依赖于高性能的商业服务器。价格开源产品。商用比较昂贵。Hive的优点1.HiveServer采用集群模式2.双MetaStore3.超时重试机制高可靠、高容错1类SQL2可扩展3多接口4Hive的优点1.类似SQL语法2.内置大量函数1.自定义存储格式2.自定义函数1.Beeline2.JDBC3.Thrift4.ODBCHive概述Hive功能与架构Hive基本操作Hive的架构Driver(Compiler,Optimizer,Executor)MetaStoreThriftServerWebInterfaceJDBCODBCHiveTezMapReduceSparkHive运行流程Client提交HQL命令Tez执行查询YARN为群集中的应用程序分配资源,并为YARN队列中的Hive作业启用授权。Hive根据表类型更新HDFS或Hive仓库中的数据。Hive通过JDBC连接返回查询结果。HQL语句HiveYarnTez(default)HDFSHive数据存储模型数据库表表倾斜数据分区分区桶桶桶桶正常数据Hive数据存储模型–分区和分桶分区:数据表可以按照某个字段的值划分分区。每个分区是一个目录。分区数量不固定。分区下可再有分区或者桶。桶:数据可以根据桶的方式将不同数据放入不同的桶中。每个桶是一个文件。建表时指定桶个数,桶内可排序。数据按照某个字段的值Hash后放入某个桶中。Hive数据存储模型-托管表和外部表Hive可以创建托管表和外部表:创建Hive表,Hive会将数据移动到数据仓库目录。如果所有处理都由Hive完成,建议使用托管表。如果要用Hive和其它工具来处理同一个数据集,建议使用外部表。托管表外部表DROP元数据和数据会被一起删除只删除元数据Hive支持的函数Hive内置函数:数学函数,如round(),floor(),abs(),rand()等日期函数,如to_date(),month(),day()等字符串函数,如trim(),length(),substr()等UDF

(User-DefinedFuncation)Hive概述Hive功能与架构Hive基本操作Hive使用方式RunningHiveServer2andBeelineRunningHcatalogRunningWebHCat(Templeton)$$HIVE_HOME/bin/hiveserver2$$HIVE_HOME/bin/beeline-ujdbc:hive2://$HS2_HOST:$HS2_PORT$$HIVE_HOME/hcatalog/sbin/hcat_server.sh$$HIVE_HOME/hcatalog/sbin/webhcat_server.shHiveSQL介绍DDL-数据定义语言建表,修改表,删表、分区、数据类型。DML-数据管理语言数据导入、数据导出。DQL-数据查询语言简单查询。复杂查询Groupby,Orderby,Join等。DDL操作--创建表--浏览表--描述表--修改表hive>CREATETABLEpokes(fooINT,barSTRING);hive>CREATETABLEinvites(fooINT,barSTRING)PARTITIONEDBY(dsSTRING);hive>SHOWTABLES;hive>DESCRIBEinvites;hive>ALTERTABLEeventsRENAMETO3koobecaf;hive>ALTERTABLEpokesADDCOLUMNS(new_colINT);DML操作--向表里加载数据--导出数据到HDFShive>LOADDATALOCALINPATH'./examples/files/kv1.txt'OVERWRITEINTOTABLEpokes;hive>LOADDATALOCALINPATH'./examples/files/kv2.txt'OVERWRITEINTOTABLEinvitesPARTITION(ds='2008-08-15');EXPORTTABLEinvitesTO'/department';DQL操作(1)--SELECTSandFILTERS--GROUPBYhive>SELECTa.fooFROMinvitesaWHEREa.ds='2008-08-15';hive>INSERTOVERWRITEDIRECTORY'/tmp/hdfs_out'SELECTa.*FROMinvitesaWHEREa.ds='2008-08-15';hive>FROMinvitesaINSERTOVERWRITETABLEeventsSELECTa.bar,count(*)WHEREa.foo>0GROUPBYa.bar;hive>INSERTOVERWRITETABLEeventsSELECTa.bar,count(*)FROMinvitesaWHEREa.foo>0GROUPBYa.bar;DQL操作(2)--MULTITABLEINSERT--JOIN--STREAMINGFROMsrcINSERTOVERWRITETABLEdest1SELECTsrc.*WHEREsrc.key<100INSERTOVERWRITETABLEdest2SELECTsrc.key,src.valueWHEREsrc.key>=100andsrc.key<200;hive>FROMpokest1JOINinvitest2ON(t1.bar=t2.bar)INSERTOVERWRITETABLEeventsSELECTt1.bar,t1.foo,t2.foo;hive>FROMinvitesaINSERTOVERWRITETABLEeventsSELECTTRANSFORM(a.foo,a.bar)AS(oof,rab)USING'/bin/cat'WHEREa.ds>'2008-08-09';通过本章的学习,介绍了Hive应用场景与基本原理,然后介绍了Hive的架构和运行流程以及常用的HiveSQL语句。以下哪些是Hive适用的场景?()实时的在线数据分析数据挖掘(用户行为分析,兴趣分区,区域展示)数据汇总(每天/每周用户点击数,点击排行)非实时分析(日志分析,统计分析)以下关于Hiv

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论