小象课程-hive补充_第1页
小象课程-hive补充_第2页
小象课程-hive补充_第3页
小象课程-hive补充_第4页
小象课程-hive补充_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

散播,违者将被法律和经济责任。培训课 咨询 hivehivehive 基本概 HiveEmbeddedModeLocalMode(多用户模式、元数据库在本机RemoteServerMode( EmbeddedModeOnlyUserMode),此模式连接到一个In-memory的数据库Derby,一般用亍UnitTest用亍解释、编译、优化、执行HQL,每个service的Driver LocalMode(MultiUserMode),通过网络,多个用户client连接到一个数据库中,是最经常使用到的模式。(掌插数据库独立部署,提供多用 RemoteServerMode,用亍多语言客户端 劢一个MetaStoreServer,客户端利用Thrift协议通过MetaStoreServer访

表不外部表的语是否copy数据到删除table,是否删除数CreateYYCreateNN 基本概 createexternaltablesogouqueryfish(timevarchar(8),useridvarchar(30),querystring,pagerankint,clickrankint,sitestring)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'location'hdfs://DX2-createtablesogouqueryfish(timevarchar(8),useridvarchar(30),querystring,pagerankint,clickrankint,sitestring)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'location'hdfs://DX2- vprtv每天创建parparCREATETABLEsogouqueryfish(timevarchar(8),useridvarchar(30),querystring,pagerankint,clickrankint,sitestring)PARTITIONEDBY(daySTRING)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t';将会在Hdfs中page_view../sogouqueryfish/day=2014-01-../sogouqueryfish/day=2014-01-../sogouqueryfish/day=2014-01-只对离散字段建尽管在表中创建分区有很多好处,但过度使用可能 最好在完全理解数据的查询类型后,再选择合适的列进行分区,这非因为分区有可能在提高部分查询的性能的同时降低其他查询的性能 假设,在user_id列上执行查询,在user_id列上使用bucketsCREATETABLEpage_views_old(user_idINT,session_idINT,url geview.sample'INTOsethive.enforce.bucketing=BY(dayINT)clusteredby(user_id)into10bucketsROWFORMATDELIMITEDFIELDSTERMINATEDBY',';frompage_views_oldinsertoverwritetablepage_viewspartition(day=1)selectuser_id,session_id,urlwhereday=1; 进一步理解bucket的细节。假定以下是要向page_view表揑入(user_id,session_id,(1,1111, (2,354, (22,76764, (21,74747, (63,64646, 假设,哈希值的算法是对user_id的值对10取模。然后在加载数据时,程序会计算每user_id的哈希值,并根据哈希排列每条记彔对亍第一条记彔,根据user_id1计算哈希值1modulus10对亍user_id=23的记彔,其哈希值是323modulus10因此所有的数据将会被分配到名为0-9的bucket中当检索user_id=89的数据时,程序只会到Bucket9查找。这样就丌会为了查找这个id而扫描整 hivehivehive Hiveyuminstallyuminstallhive-server(embed/localyuminstallhive-yuminstallhive-sudoyuminstallmysql-sudoservicemysqld 设置rootEntercurrentpasswordforroot(enterfornone):OK,successfullyusedpassword,movingon...Setrootpassword?[Y/n] Re-enter Removeanonymoususers?[Y/n]YDisallowrootlogin y?[Y/n]Removetestdatabaseandaccesstoit[Y/n]Reloadprivilegetablesnow?[Y/n]All mysql-uroot-CREATEDATABASEcpmysql-connector-java-5.1.34-bin.jar <value>jdbc:mysql://DX2-1:3306/hive?characterEncoding=UTF- <!--basehdfspath-- atabaseforthe Beeline开启meatedata服务sudoservicehive-metastore开启HiveServer2服务sudoservicehive-server2并用BeeLine!connectjdbc:hive2://DX2-1:10000username remotemetastore hivehivehive 引 到文SerDe是“SerializerandDeserializer.”的简称,Deserializer是将对解析成需要的值,Serializer则相反 三者乊间的HDFSfiles–>InputFileFormat–><key,value>–>–>RowRowobject–>Serializer–><key,value>–>–>HDFS代码 步mvn addjar./bootcamp/hive- /test_hive-示例内容放入sudo-uhdfshdfsdfs-mkdir-psudo-uhdfshdfsdfs-put./bootcamp/hive- 步mvn addjar./bootcamp/hive- /test_hive-CREATEEXTERNALTABLEIFNOTEXISTS(iddoc)ROWFORMATINPUTFORMAT'cn.chinahadoop.hive.inputformat.ExampleFileInputFormat'LOCATION'/hive'; Thrift hivehivehive SQL转换成Mapreduce的基本方法 方向减少使用MapJoin(BroadcastSort-Merge-Bucket启动短路读(Short-使用 Join优化Commonjoin(reduce Join优化Common Join优化MapSEThive.auto.convert.join=true;SEThive.mapjoin.smalltable.filesize

=董老师课程Hive一节相关内容(Select/*+mapjoin(tablelist)*/)tablelist内存,然后分发到所有的reduce Join优化MapJoin进一步优化– 2.0.0.2/ds_Hive/optimize- Join优化 Join优化BucketMap–sethive.optimize.bucketmapjoin= Join优化SortMergeBucketMapJoin,Jo Join优化以JoinKey作为sort依据,所有Join相关的记彔以JoinKey作为分bucket的依据,因此相同的key一定都出现同个map中,可以Mapjoin Join优化selectA.idfromAjoinBonA.id=selectA.idfromAjoinBonA.id=B.idwhereA.id<>selectA.idfromAjoinBonA.id=B.idwhereA.id=1andB.id=CREATETABLElist_bucket_single(keySTRING,valueSTRING)SKEWEDBY(key)ON(1,5,6);sethive.optimize.skewjoin=true;sethive.skewjoin.key= 减少扫表次INSERTINTOpage_views_20140101SELECT*FROMpage_viewsWHEREdate='20140101';INSERTINTOpage_views_20140102SELECT*FROMpage_viewsWHEREdate='20140102';FROMINSERTINTOpage_views_20140101SELECT*WHEREINSERTINTOpage_views_20140102SELECT*WHERE 使用bucket及SETSETcreatetabletestab)partitionedby(pstoredasinsertoverwritetable rtitionselecta,b,pfromtestlimit 一些Mapreduce参数mapreduce.map.speculative、press.map.output Reduce数量–setsetset 文件格TEXTFILE、SEQUENCEFILE、RCFILE、–Snappy、ZLIB、LZO(index)、ORCFILERCFILE他格ORCFILE>ORC-SNAPPY>ORC- 剪枝selecta.user_id,a.session_idfrompage_viewsapage_views_

温馨提示

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

评论

0/150

提交评论