hive架构
hive的用户(提交SQL的方式)
1.Cli(命令行)
Cli(hive shell)
2.JDBC/ODBC(面向应用程序进行编程开发)
3.Web UI(Hue/hwi)(不常用)
sql提交以后经过三个步骤
1.编译
2.优化
3.执行
生成类似mapreducer的task。提交到hadoop集群上执行。
hive 架构
- Command-line shell 和Thrift/jdbc这两个相当于相当于客户端。
Thrift是一种跨语言的服务。
- Metastore 元数据存有:database(location/owner/name)/table。存在mysql上。
真正的hive的数据存在hdfs上
hive自带一个berby数据库,一般不使用。只能启动一个命令行。
- Driver:一个SQL运行以后,会先经过Driver,然后经过mapReduce执行,然后写到HDFS或HBase上。
driver:包括很多部分
1.编译:将SQL转换成一个抽象的语法树
2.解析:解析成hive可以认识的东西(