特点:Hive是构建在hadoop之上的数据仓库。数据存储在hdfs上,数据计算用的mapreduce框架。用户无需掌握MR的编写,通过类SQL语句即可自动生成查询计划。
主要内容:
接入入口 Client CLI Beeline HiveServer2
metastore
metasotre serve/ metastore dababase
数据库操作
数据载入
用户扩展功能UDF
分区和桶
和传统数据库的异同:
同:访问和管理数据;提供类SQL查询语言;
异:可处理大规模数据;扩展性和容错性非常强;不支付事务;
应用场景:
1.日志分析:pv,uv统计;多维度数据分析
2.海量结构化数据离线分析
局限:
1.不是一个OLTP系统:响应时间慢;不能实时更新系统。
2.提供的SQL表达能力有限:不支付迭代式计算;不支付复杂运算;
运行原理:
HQL语句 -> CLI语法检查、编译并优化,查看引用表metastore,生成查询计划 -> YARN拿到HDFS上的数据,然后处理 -> 结果保存到HDFS上 -> CLI获取最终的处理结果,并返回给用户。