大数据系列-Hive入门与实战(ppt 69张)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
不同的存储类型,例如,纯文本文件、HBase 中的文件。
将元数据保存在关系数据库中,减少了在查询中执行语义检查时间。 可以直接使用存储在Hadoop 文件系统中的数据。 内置大量用户函数UDF 来操作时间、字符串和其他的数据挖掘工具, 支持用户扩展UDF 函数来完成内置函数无法实现的操作。 类SQL 的查询方式,将SQL 查询转换为MapReduce 的job 在Hadoop 集群上执行。
6
目录
一、 Hive简介
二、 Hive体系结构 三、 Hive工作机制 四、 Hive应用场景 五、 Hive安装部署 六、 Hive开发使用 七、 SparkSQL简介
Hive体系结构-Hive在Hadoop中的位置
7
Zookeeper(协调服务)
Pig (数据流) Avro(序列化)
Sqoop MapReduce (分布式计算框架)
13
将查询字符串转换成解析树表达式。
语义解析器
将解析树转换成基于语句块的内部查询表达式。
语法解析器
逻辑计划 生成器 查询计划 生成器
将内部查询表达式转换为逻辑计划,这些计划由逻辑操作树组 成,操作符是Hive的最小处理单元,每个操作符处理代表一道 HDFS操作或者是MR作业。 将逻辑计划转化成物理计划(MR Job)。
CLI接口
用户接口 JDBC/ODBC客户端 WEB接口
Thrift服务器 解析器 编译器 优化器 元数据库
• • •
• Thrift服务器
执行器
Hive
MapReduce
数据仓库 HDFS
Hadoop
Hive体系结构
10
• 解析器
• • • 编译器:完成 HQL 语句从词法分析、语法 分析、编译、优化以及执行计划的生成。 优化器是一个演化组件,当前它的规则是 :列修剪,谓词下压。 执行器会顺序执行所有的Job。如果Task 链不存在依赖关系,可以采用并发执行的 方式执行Job。 Hive的数据由两部分组成:数据文件和元 数据。元数据用于存放Hive库的基础信息 ,它存储在关系数据库中,如 mysql、 derby。元数据包括:数据库信息、表的 名字,表的列和分区及其属性,表的属性 ,表的数据所在目录等。
编码跟Hadoop同样使用UTF-8字符集。
Hive体系结构
9
•
• •
用户接口
CLI:Cli 启动的时候,会同时启动一个 Hive 副本。 JDBC客户端:封装了Thrift,java应用 程序,可以通过指定的主机和端口连 接到在另一个进程中运行的hive服务器 ODBC客户端:ODBC驱动允许支持 ODBC协议的应用程序连接到Hive。 WUI 接口:是通过浏览器访问 Hive 基于socket通讯,支持跨语言。Hive Thrift服务简化了在多编程语言中运行 Hive的命令。绑定支持 C++,Java,PHP,Python和Ruby语言。
③ Hive将查询转换成MapReduce作业
④ Hive在Hadoop上执行MapReduce作业
2 1 sql 用户 hive 用 户 接 口 3 Map/Reduce
Hadoop 4 hdfs • table1 • table2 • table3 ......
Hive编译器的运行机制(Hive的核心)
MapReduce作业并在Hadoop上执行。
• Hive表是HDFS的一个文件目录,一个表名对应一个目录 名,如果有分区表的话,则分区值对应子目录名。
Hive简介-Hive的历史由来
4
• Hive是Facebook开发的,构建于Hadoop集群之上的 数据仓库应用。2008年Facebook将Hive项目贡献给 Apache,成为开源项目。目前最新版本hive-2.0.0
CLI接口
用户接口 JDBC/ODBC客户端 WEB接口
Thrift服务器 解析器 编译器 优化器 元数据库
• 元数据库
•
执行器
Hive
MapReduce
数据仓库 HDFS
•
•
Hadoop
Hive 的数据文件存储在 HDFS 中,大部 分的查询由 MapReduce 完成。(对于包 含 * 的查询,比如 select * from tbl 不会 生成 MapRedcue 作业)
Hadoop
Fra Baidu bibliotek
11
目录
一、 Hive简介
二、 Hive体系结构 三、 Hive工作机制 四、 Hive应用场景 五、 Hive安装部署 六、 Hive开发使用 七、 SparkSQL简介
Hive的运行机制
12
① 用户通过用户接口连接Hive,发布Hive SQL ② Hive解析查询并制定查询计划
Hive简介-Hive的历史由来
5
• Hadoop和Hive组建成为Facebook数据仓库的发展史
随着数据量增加某些查询需要几个小时甚至几天才能完成 。当数据达到1T时,MySql进程跨掉。
可以支撑几个T的数据,但每天收集用户点击流数据(每天 约400G)时,Oracle开始撑不住。
有效解决了大规模数据的存储与统计分析的问题,但是 MapReduce程序对于普通分析人员的使用过于复杂和繁琐。 对外提供了类似于SQL语法的HQL语句数据接口,自动将 HQL语句编译转化为MR作业后在Hadoop上执行。降低了 分析人员使用Hadoop进行数据分析的难度。
Hive (SQL)
程序语言
计算 表存储 对象存储
HCatalog (元数据)
Hbase (列存储)
HDFS (Hadoop分布式文件系统)
Hive体系结构-Hive设计特征
8
Hive 做为Hadoop 的数据仓库处理工具,它所有的数据都存储在Hadoop 兼容的文件系统中。Hive 在加载数据过程中不会对数据进行任何的修改,只 是将数据移动到HDFS 中Hive 设定的目录下,因此,Hive 不支持对数据的改 写和添加,所有的数据都是在加载的时候确定的。Hive 的设计特点如下。 支持索引,加快数据查询。
大数据系列- Hive入门与实战
2
目录
一、 Hive简介
二、 Hive体系结构 三、 Hive工作机制 四、 Hive应用场景 五、 Hive安装部署 六、 Hive开发使用 七、 SparkSQL简介
Hive简介-Hive是什么?
3
• Hive是构建在Hadoop之上的数据仓库平台 • Hive是一个SQL解析引擎,它将SQL语句转译成