欢迎来到天天文库
浏览记录
ID:13243961
大小:1.09 MB
页数:14页
时间:2018-07-21
《hadoop数据仓库工具--hive介绍》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、HIVE介绍1简介1.1是什么hive是一个基于hadoop的数据仓库。使用hadoop-hdfs作为数据存储层;提供类似SQL的语言(HQL),通过hadoop-mapreduce完成数据计算;通过HQL语言提供使用者部分传统RDBMS一样的表格查询特性和分布式存储计算特性。类似的系统有yahoo的pig[1],google的sawzall[2],microsoft的DryadLINQ[3]。1.2架构图表1hive架构图[4]1、操作界面:CLI,Web,Thrift2、driver:hive系统将用户操作转化为mapreduce计算的模块(重点)百度在线网络技术(北京)有限公司1、h
2、adoop:hdfs+mapreduce2、metastore:存储元数据1.1语言一般有DDL和DML两种:hive采用DDL方式和少量DML方式,类似sql;pig使用DML方式。DDL:datadefinitionlanguage(只讲definition,不讲实现){create/alter/drop}{table/view/partition}createtableasselectDML:datamanipulationlanguage(有关于实现操作)insertoverwritehive示例加载loaddatalocalinput‘/logs/urls.txt’intotab
3、leurlspartition(ds=’2010-01-01’);写入INSERTOVERWRITETABLEresult操作SELECTcategory,AVG(pagerank)FROMurlsWHEREpagerank>0.2GROUPBYcategory;pig示例加载urls=LOAD‘/logs/urls.txt’USINGmyLoad()AS(category,pagerank);操作good_urls=FILTERurlsBYpagerank>0.2;groups=GROUPgood_urlsBYcategory;output=FOREACHgroupsGENERATEca
4、tegory,AVG(good_urls.pagerank);写入STOREoutputINTO‘myoutput’USINGmyStore();hive中使用自定义map-reduceFROM(FROMpv_usersMAPpv_users.userid,pv_users.dateUSING'map_script'ASdt,uidCLUSTERBYdt)map_outputINSERTOVERWRITETABLEpv_users_reducedREDUCEmap_output.dt,map_output.uidUSING'reduce_script'ASdate,count;百度在线网络
5、技术(北京)有限公司1.1其他一些功能1、能够ALERT一个table,主要是add一个column。2、分区(partition):a)建表的时候指定分区方式:CREATETABLEinvites(fooINT,barSTRING)PARTITIONEDBY(dsSTRING);b)导入的时候指定分区依据:LOADDATALOCALINPATH'./examples/files/kv2.txt'OVERWRITEINTOTABLEinvitesPARTITION(ds='2008-08-15');LOADDATALOCALINPATH'./examples/files/kv3.txt'O
6、VERWRITEINTOTABLEinvitesPARTITION(ds='2008-08-08');3、类似select*fromtbl的查询不需要MapReduce。4、hive不只是可以mapreduce图表2hive结合HBase的逻辑图[5]”图表3reduce阶段写入HBase的方式[5]”百度在线网络技术(北京)有限公司图表4map-onlyjob写入HBase的方式[5]”1实现1.1原数据Q:具体结构是怎样的?(Metadata)hive的元数据存储在传统的RDBMS中,现在为mysql中。采用JDOS:可以查看'javax.jdo.option.ConnectionUR
7、L'and'javax.jdo.option.ConnectionDriverName'两个变量(JPOX)。原因:访问这些Metadata,我们想要“很低的延时”,而存在hdfs中是无法满足。(元数据对hive是相当重要的,因此一般要求有备份机制Q:不清楚具体的备份机制)使用:元数据都是在HQL语句编译的时候O:但前期编译时间会适当变长,就被生成一个xml文件(包含此次编译所有需要的元数据信息)存储在hdfs中,然后运
此文档下载收益归作者所有