Hive基础PPT课件.pptx

上传人:rrsccc 文档编号:9509727 上传时间:2021-03-02 格式:PPTX 页数:20 大小:1.21MB
返回 下载 相关 举报
Hive基础PPT课件.pptx_第1页
第1页 / 共20页
Hive基础PPT课件.pptx_第2页
第2页 / 共20页
Hive基础PPT课件.pptx_第3页
第3页 / 共20页
Hive基础PPT课件.pptx_第4页
第4页 / 共20页
Hive基础PPT课件.pptx_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《Hive基础PPT课件.pptx》由会员分享,可在线阅读,更多相关《Hive基础PPT课件.pptx(20页珍藏版)》请在三一文库上搜索。

1、Hive基础,1,2,Hive结构,Hive基础操作,目录,3,Hive的MAP/RED,3,4,山东现场实际应用,Hive结构图,数据存储,Hive数据以文件形式存储在HDFS的指定目录下 Hive语句生成查询计划,由MapReduce调用执行,用户接口,解析器:生成抽象语法树 语法分析器:验证查询语句 逻辑计划生成器(包括优化器):生成操作符树 查询计划生成器:转换为map-reduce任务,CLI:启动的时候,会同时启动一个 Hive 副本 Client:Hive 的客户端,用户连接至 Hive Server WUI:通过浏览器访问 Hive,语句 转换,Hive元数据,元数据存储在关系

2、数据库如 mysql,derby ,oracle中 解析用户提交hive语句,对其进行解析,分解为表、字段、分区等hive对象 根据解析到的信息构建对应的表、字段、分区等对象,从SEQUENCE_TABLE中获取构建对象的最新ID,与构建对象信息(名称,类型等)一同写入到元数据表中去,成功后将SEQUENCE_TABLE中对应的最新ID+5。,Hive 和普通关系数据库的异同,数据存储,数据格式,数据更新,执行延迟,Hive 是建立在 Hadoop 之上的,所有 Hive 的数据都是存储在 HDFS 中的。 数据库则可以将数据保存在块设备或者本地文件系统中,Hive 中没有定义专门的数据格式,

3、由用户指定,需要指定三个属性:列分隔符,行分隔符,以及读取文件数据的方法 数据库中,存储引擎定义了自己的数据格式。所有数据都会按照一定的组织存储,Hive 在查询数据的时候,需要扫描整个表(或分区),因此延迟较高,因此hive只有在处理大数据时才有优势 数据库在处理小数据时执行延迟较低,Hive VS RDBMS,Hive 的内容是读多写少的因此,不支持对数据的改写和删除,数据都是在加载的时候中确定好的 数据库中的数据通常是需要经常进行修改,1,2,Hive结构,Hive基础操作,目录,3,Hive的MAP/RED,3,4,山东现场实际应用,Hive客户端,usage: hive -d,-de

4、fine -e -f -h -hiveconf -hivevar -i -S,-silent -v,-verbose,Load语法:LOAD DATA LOCAL INPATH filepath OVERWRITE INTO TABLE tablename PARTITION (partcol1=val1, partcol2=val2 .) Load 操作只是单纯的复制/移动操作,将数据文件移动到 Hive 表对应的位置。 Filepath可以是本地路径,也可以是HDFS的路径 加载的目标可以是一个表或者分区(静态分区)。如果表包含分区,必须指定每一个分区的分区名 在load时hive会检查加

5、载的数据文件与建表时指定的file_type是否匹配 Insert语法:INSERT INTO/OVERWRITE TABLE tablename1 PARTITION (partcol1=val1, partcol2=val2 .) select_statement1 FROM from_statement; INSERT OVERWRITE LOCAL DIRECTORY directory1 SELECT . FROM . Inser语句可以把select语句查询出来的记录插入到目标表中,也可以把查出的记录以文件的形式导出到本地,1,2,Hive结构,Hive基础操作,目录,3,Hive

6、的MAP/RED,3,4,山东现场实际应用,JOIN,Map: 以 ON 条件中的列作为 Key,如果有多个列,则 Key 是这些列的组合 以 JOIN 之后所关心的列作为 Value,当有多个列时,Value 是这些列的组合。 按照 Key 进行排序。 Shuffle: 根据 Key 的值进行 Hash,并将 Key/Value 对按照 Hash 值推至不同对的Reduce 中。 Reduce: Reducer 根据 Key 值进行 Join 操作,语句:SELECT a.pageid, b.age FROM page_view a JOIN user b ON (a.userid = b.

7、userid);,GROUP BY,语句:SELECT pageid, age, count(1) FROM pv_users GROUP BY pageid, age;,数据量大不是问题,数据倾斜是个问题。 jobs数比较多的作业运行效率相对比较低。 count(distinct ) 效率较低,计算框架,优化手段,Join优化,不要求全局有序时使用Distribute By + Sort By来排序 如果全局有序是为了得到排名靠前的结果,刚使用limit子句来减少数据量。,解决数据倾斜问题。 减少job数。 设置合理的map reduce的task数 对小文件进行合并,使用MAPJOIN()

8、会将较小的表 加载到内存中,使连结过程在Map阶段完成,Hive优化,排序优化,1,2,Hive结构,Hive基础操作,目录,3,Hive的MAP/RED,3,4,山东现场实际应用,节点HQL,OCDC平台HQL执行步骤,后台调度 10.17.254.12,hiveServer服务 10.17.254.12,Map/reduce,从OCDC平台的执行监控中,可以找到HQL对应的jobid,通过jobid可以在jobtracker的监控页面(http:/10.17.254.18:50030/jobtracker.jsp)找到对应的job,Job执行信息查看,在jobtracker的监控页面(ht

9、tp:/10.17.254.18:50030/jobtracker.jsp)点击job,即可进入此job对应的执行页面监控,如下:,Job执行日志查看,其对应的日志在后台的位置为:,点击map,点击task,点击日志,注:点击日志后的页面地址需要将hostname更新为对应的IP地址,查找执行日志步骤:,ocdcOCDC-DATA-003 attempt_201403121855_35592_m_000000_0$ pwd /home/ocdc/app/mr1/logs/userlogs/job_201403121855_35592/attempt_201403121855_35592_m_000000_0,个人观点供参考,欢迎讨论,

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1