欢迎投稿

今日深度:

Hive的工作原理,

Hive的工作原理,


一、SQL语句转换成MapReduce作业的基本原理
join的实现原理:sql获取的数据先通过map函数处理,转换成key-value形式,接着shuffle为归并的过程,将key相同的归并到一起,最后通过Reduce函数处理。(关于MapReduce与shuffle的详解请看MapReduce篇)
二、 Hive中SQL查询转换成MapReduce作业的过程 •当用户向Hive输入一段命令或查询时,Hive需要与Hadoop交互工作来完成该操作: •驱动模块接收该命令或查询编译器 •对该命令或查询进行解析编译 •由优化器对该命令或查询进行优化计算 •该命令或查询通过执行器进行执行 作业图:
1步:由Hive驱动模块中的编译器对用户输入的SQL语言进行词法和语法解析,将SQL语句转化为抽象语法树的形式

2步:抽象语法树的结构仍很复杂,不方便直接翻译为MapReduce算法程序,因此,把抽象语法书转化为查询块

3步:把查询块转换成逻辑查询计划,里面包含了许多逻辑操作符


4步:重写逻辑查询计划,进行优化,合并多余操作,减少MapReduce任务数量


5步:将逻辑操作符转换成需要执行的具体MapReduce任务


6步:对生成的MapReduce任务进行优化,生成最终的MapReduce任务执行计划


7步:由Hive驱动模块中的执行器,对最终的MapReduce任务进行执行输出









Impala数据仓库: Impala是由Cloudera公司开发的新型查询系统,它提供SQL语义,能查询存储在HadoopHDFSHBase上的PB级大数据在性能上比Hive高出3~30Impala的运行需要依赖于Hive的元数据Impala是参照Dremel系统进行设计的Impala采用了与商用并行关系数据库类似的分布式查询引擎,可以直接与HDFSHBase进行交互查询ImpalaHive采用相同的SQL语法、ODBC驱动程序和用户接口
总结得出:与Hive属于同一类型的数据仓库,现配合与Hive使用,性能较高,弥补Hive本身存在的缺陷,在这里就不细讲了

www.htsjk.Com true http://www.htsjk.com/hive/40620.html NewsArticle Hive的工作原理, 一、SQL语句转换成MapReduce作业的基本原理 join的实现原理: sql获取的数据 先通过map函数处理,转换成key-value形式,接着shuffle为归并的过程,将key相同的归并到一起,最...
相关文章
    暂无相关文章
评论暂时关闭