What is Hive
Hive是基于Hadoop(HDFS,
MapReduce)的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
本质是将SQL转换为MapReduce程序
Why use Hive
面临的问题:
1)人员学习成本太高
我只是需要一个简单的环境:
1)MapReduce如何搞定
2) 复杂查询好难
3) Join如何实现
为什么要使用Hive
1) 操作接口采用类SQL语法,提供快速开发的能力
2)避免了去写MapReduce,减少开发人员的学习成本
3)扩展功能很方便
Hive的特点
- 可扩展 : Hive可以自由的扩展集群的规模,一般情况下不需要重启服务
2)延展性 : Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数
3)容错 :良好的容错性,节点出现问题SQL仍可完成执行
Hive architecture
主要分为以下几个部分:
用户接口:包括 命令行CLI,Client,Web界面WUI,JDBC/ODBC接口等
中间件 :包括thrift接口和JDBC/ODBC的服务端,用于整合Hive和其他程序。
元数据 :metadata存储,通常是存储在关系数据库如 my