编辑: ACcyL | 2019-08-26 |
huawei.com 版权所有?
2015 华为技术有限公司 Hive架构原理 第1页 版权所有?
2015 华为技术有限公司 前言 ? FusionInsight HD C50 版本中Hive组件在社区版本Hive 1.1.0基础上,加入了众多企业级定制化特性,如HA机制,列 加密,Colocation建表等特性.整个产品在高可靠,高容错 ,可扩展性以及性能等各方面较社区有巨大提升. 第2页 版权所有?
2015 华为技术有限公司 目标 ? 学完本课程后,您将能够: ? 了解Hive应用场景与基本原理;
? 了解FusionInsight中Hive增强特性;
? 熟悉常用Hive SQL语句;
? 学会常见Hive故障分析、日志收集;
第3页 版权所有?
2015 华为技术有限公司 目录 1. Hive应用场景 ? 什么是Hive ? Hive在Hadoop中的位置 ? Hive的优点以及缺点 ? Hive的应用场景 ? Hive与传统数据仓库的比较 2. Hive功能与架构 3. Hive 基本操作 4. Hive常用维护 第4页 版权所有?
2015 华为技术有限公司 什么是Hive ? Hive是基于Hadoop的一个数据仓库工具,可以将结构化的 数据文件映射为一张数据库表,并提供类SQL的查询功能. ? 其基本原理是将HQL语句自动转换成MapReduce任务. ? Hive建立在Hadoop的其它组件之上: ? 依赖于HDFS进行数据存储. ? 依赖于MapReduce完成查询操作. ? 谁在使用Hive? 第5页 版权所有?
2015 华为技术有限公司 Hive在Hadoop中的位置 HDFS:分布式文件系统 Hive ?位于应用层 ?ETL工具 ?类SQL ?数据仓库 ?本质是 MapReduce HDFS MapReduce Hive Yarn MapReduce ?分布式 ?并行计算 YARN ?Hadoop 资源 管理器 第6页 版权所有?
2015 华为技术有限公司 Hive的优点及缺点 ?HiveServer采 用主备模式 ?双MetaStore ?超时重试 高可靠、高容错
1 类SQL
2 可扩展
3 多接口
4 Hive的优点 ?类似SQL语法 ?内置大量函数 ?Beeline ?JDBC ?Thrift ?Python ?Rest ?自定义存储格 式 ?自定义函数 (UDF/UDAF/ UDTF) 第7页 版权所有?
2015 华为技术有限公司 Hive的优点及缺点 ?默认M/R为执行 引擎 ?M/R启动有延迟 延迟较高
1 不支持物化视图
2 不适用OLTP
3 暂不支持存储过程
4 Hive的缺点 ?Hive虽然也提 供了视图的概 念;
但还不能 支持物化视图 ?不能在视图上 更新、插入、 删除数据 ?暂不支持列级 别的数据添加、 更新、删除操 作 ?当前版本还不 能支持存储过 程,只能通过 UDF来实现一些 逻辑处理 第8页 版权所有?
2015 华为技术有限公司 Hive的应用场景 数据挖掘 ?每天/每周用户点击数 ?流量统计 非实时分析 ?日志分析 ?文本分析 数据汇总 ?用户行为分析 ?兴趣分区 ?区域展示 作为数据仓 库 ?数据抽取 ?数据加载 ?数据转换 第9页 版权所有?
2015 华为技术有限公司 Hive与传统数据仓库比较 Hive 传统数据仓库 存储 HDFS,理论上有无限拓展的可能. 集群存储,存在容量上限,而且伴随容量的 增长,计算速度急剧下降.只能适应于数据 量比较小的商业应用,对于超大规模数据无 能为力. 执行引擎 依赖于MapReduce框架,可进行 的各类优化较少,但是比较简单. 可以选择更加高效的算法来执行查询,也可 以进行更多的优化措施来提高速度. 使用方式 HQL(类似SQL). SQL. 灵活性 元数据存储独立于数据存储之外, 从而解耦合元数据和数据. 低,数据用途单一. 分析速度 计算依赖于MapReduce和集群规 模,易拓展,在大数据量情况下, 远远快于普通数据仓库. 在数据容量较小时非常快速,数据量较大时, 急剧下降. 第10页 版权所有?
2015 华为技术有限公司 Hive与传统数据仓库比较 Hive 传统数据仓库 分析速度 计算依赖于MapReduce和集群规 模,易拓展,在大数据量情况下, 远远快于普通数据仓库. 在数据容量较小时非常快速,数据量较大时, 急剧下降. 索引 低效,目前还不完善. 高效. 易用性 需要自行开发应用模型,灵活度较 高,但是易用性较低. 集成一整套成熟的的报表解决方案,可以较 为方便的进行数据的分析. 可靠性 数据存储在HDFS,可靠性高,容错 性高. 可靠性较低,一次查询失败需要重新开始. 数据容错依赖于硬件Raid. 依赖环境 依赖硬件较低,可适应一般的普通 机器. 依赖于高性能的商业服务器. 价格 开源产品. 商用比较昂贵,开源的性能较低. 第11页 版权所有?
2015 华为技术有限公司 思考题 1. 以下哪些是Hive适用的场景?( ) A. 实时的在线数据分析 B. 数据挖掘(用户行为分析,兴趣分区,区域展示) C. 数据汇总(每天/每周用户点击数,点击排行) D. 非实时分析(日志分析,统计分析) 第12页 版权所有?
2015 华为技术有限公司 目录 1. Hive应用场景介绍 2. Hive功能与架构 ? Hive的架构 ? FusionInsight HD中Hive的架构 ? FusionInsight HD中Hive增强特性 ? Hive数据存储模型 3. Hive 基本操作 4. Hive常用维护 第13页 版权所有?
2015 华为技术有限公司 MetaStore : 存储表,列和Partition等元数据,为关系型数据库. Driver : 管理HiveQL执行的生命周期并贯穿Hive任务整个执行期 间. Compiler : 编译HiveQL并将其转化为一系列相互依赖的 Map/Reduce任务. Optimizer : 优化器,分为逻辑优化器和物理优化器,分别对 HiveQL生成的执行计划和MapReduce任务进行优化. Executor : 按照任务的依赖关系分别执行Map/Reduce任务. ThriftServer : 提供thrift接口,作为JDBC和ODBC的服务端,并将Hive和其他应用程序集成起来. Clients : 包含命令行接口(CLI/Beeline) 和JDBC/ODBC 接口,为 用户访问提供接口. Hive CLI/Beeline JDBC/ODBC Thrift Server Driver (Compiler,Optimizer,Executor) MetaStore MapReduce HDFS HBase Hive的架构 第14页 版权所有?
2015 华为技术有限公司 FusionInsight HD中Hive的架构 ? 在C50版本中HiveServer使用集群模 式,即可同时有两个HiveServer提 供服务 ? MetaStore进程可以启一个或两个来 提供元数据服务 Hiveserver (Active) Hiveserver (Active) Metas tore Meta store DBservice ZooK eep er HDFS Yarn ? Hive分为两个角色HiveServer、MetaStore.HiveServer负责接 受客户端请求、解析、执行HQL命令并返回查询结果,MetaStore提 供元数据服务. 第15页 版权所有?
2015 华为技术有限公司 ? HCatalog包括HCatalog Client和HCatalog Server. ? HCatalog Client 包括命令行工具CLI和Client jar包(用于给Pig,M/R提供元数据读写支持). ?HCatalog通过Hive提供的HiveMetaStoreClient 对象来间接访问MetaStore. ?HCatalog对外提供Hcatloader, HCatInputFormat来读取数据;
提供HCatStore, HCatOutputFormat来写入数据. HCatalog架构 第16页 版权所有?
2015 华为技术有限公司 ? WebHCat提供Rest接口,使用户能够通过安全 的HTTPS协议执行以下操作: ?执行Hive DDL操作;
?运行Hive HQL任务;
?运行MapReduce任务;
?注:当前版本暂不提供Pig接口. WebHCat架构 第17页 版权所有?
2015 华为技术有限公司 Hive权限管理 ? 权限模型 ? Pricinpal Specification--用户对象:Hive中的用户对象包括:USER|GROUP ? Object--数据........