hive目前岗位需求一般为基于大数据平台,开发和维护数据仓库相关,对业务需求部门进行数据支持;根据业务部门需求,充分利用现有数据资源,进行数据提取、整理和挖掘(ETL)。学好一个东西我认为应从底层原理了解起来,例如一辆汽车为何可以运动其原理是什么,类似的在学习过程中多思考才能激发自己的对所学东西的兴趣。
1.什么是Hive?
a.hive有Facebook实现并开源
b.是基于Hadoop的一个数据仓库工具
c.可以将结构化的数据映射成一张数据库表
d.提供HQL查询功能
e.底层数据是存储在HDFS上
Hive 是数据仓库,但是本身不存储数据,仅仅只是用来描述存储在HDFS上的数据
Hive 只存储元数据(描述数据的数据集 )
Hive 的元数据是借用RDBMS进行存储 最常用的就是MySQL
f.Hive的本质是将SQL语句转化为Mapreduce
2.数据库和数据仓库的区别
a.数据库,对于数据会做精细化的管理,具有事物的概念。
数据仓库,存储数据的格式就类似于打包,没有事物的概念
b.操作方式的区别
数据库:noSql语法 put\get\scan
数据仓库:SQL语法
c.用途的区别:
数据库: OLTP 联机事务处理 增删改
数据仓库: OLAP 联机分析处理 查询
d.模式的区别
数据库: 写模式
数据仓库: 读模式