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之上。
时间: 2024-10-10 09:19:26