Hadoop 生态之 MapReduce 及 Hive 简介(3)
前面说到 HQL 可以‘转换’为 MapReduce, 下面就来看看:一个 HQL 是如何转化为 MapReduce 的Hive的基础架构: 通过 Client 向 Hive 提交 SQL 命令。如果是 DDL,Hive 就会通过执行引擎 Driver 将数据表的信息记录在 Metastore 元数据组件中,这个组件通常用一个关系数据库实现,记录表名、字段名、字段类型、关联 HDFS 文件路径等 Meta 信息(元信息)。 如果是DQL,Driver 就会将该语句提交给自己的编译器 进行语法分析、解析、优化等一系列操作,最后生成一个 MapReduce 执行计划。再根据执行计划生成一个 MapReduce 的作业,提交给 Hadoop 的 MapReduce 计算框架处理。 比如输入一条 select xxx from a ; 其执行顺序为:首先在 metastore 查询--> sql 解析--> 查询优化---> 物理计划--> 执行 MapReduce。 小结 本文大致阐述了什么是 MapReduce 及其组成和基本原理,同时也介绍了Hive。 其实在实践中,并不需要常编写 MapReduce 程序,主要的数据处理还是 SQL 分析,因此 Hive 在大数据应用中的拥有很大的作用。
(编辑:ASP站长网) |