HIve 体系架构

mac2025-05-04  13

Command-line shell: sql 在命令行去写,提交到hive引擎上,常用的客户端Thrift/JDBC: thrift是一个协议,相当于hive启程一个服务,可以通过jdbc的方式,往thrift提交你的查询,你都sql —意思就是(server/jdbc)WebUI(HUE/Zeppelin) 可以可视化展示metastore ==>存在mysql的 database:name、location地址、owner谁创建的… 源数据i信息 table: name、location、owner、column name/type…… 源数据i信息

sql语句就是不能在普通的字符串而已,如何让字符串让hive引擎识别呢 会把sql编译成一个语法术(sql Parser 编译解析)QueryOptimizer做很多的优化,找到一个最优的执行计划Physical Plan 生成物理计划在这个过程中有序列化和反序列化,UDF(就是用户自己定义的函数),物理计划会生成一个执行计划Execution,在Execution下面会生成MapReduce

客户端过来以后,他会通过Driver部分,把sql最终翻译成MapReduce,把我们作业提交到HadoopStorage(HDFS,HBase)之上就可以了

管理过程当中会可能设计表,和库,hive基于表操作的,这些表和数据库都是作为源数据库信息放在Metastore,Metastore存放在Mysql

最新回复(0)