Hive与Hadoop调用图
解析:
1、提交sql 交给驱动
2、驱动编译:解析相关的字段表信息
3、去metastore查询相关的信息 返回字段表信息
4、编译返回信息 发给驱动
5、驱动发送一个执行计划 交给执行引擎
6、执行计划 (三种形式: metastore、namenode、metastore+namenode+mapreduce)
形式一 > DDL 对数据库表的操作的 直接和metastore交互 。 比如:create table t1(name string);
形式二 > dfs ops 直接和namenode取数据 。 比如: select * from t1;
形式三 > 把job交给job tracker,让task tracker执行 返回执行信息 + 完成job返回数据信息、找namenode查数据 。
比如:select * from t1 where col=X ;
7、返回结果信息集
总结: hive 运行在 hadoop 之上, 某些操作需要调用 hdfs 中的 mapreduce 。 hive 元数据存储在 matestore 中, 而非元数据(如 table 里的数据)存储在hdfs之上。
文章可以转载,必须以链接形式标明出处。
本文转自 张冲andy 博客园博客,原文链接:http://www.cnblogs.com/andy6/p/7543753.html
,如需转载请自行联系原作者