一、数据库与数据仓库
在讲述Hive之前先了解一下数据库和数据仓库的含义
- 数据库:是一种逻辑概念,用来存放数据的仓库,通过数据库软件来实现。数据库由很多表组成,表是二维的,一张表里面有很多字段。字段一字排开,对数据就一行一行的写入表中。数据库的表,在于能够用二维表现多维的关系。如:oracle、DB2、MySQL、Sybase、MSSQL Server等。
- 数据仓库:数据仓库(Data Warehouse),可简写为DW或DWH,数据仓库,简单的来说就是数据存放工具,数据仓库的数据是随着时间的变化而变化的。 数据仓库中的数据不可更新是针对应用来说的,也就是说,数据仓库的用户进行分析处理是不进行数据更新操作的。但并不是说,在从数据集成输入数据仓库开始到最后被删除的整个生存周期中,所有的数据仓库数据都是永远不变的
- 数据库与数据仓库的区别:数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别
- 操作型处理,叫联机事务处理OLTP(On-Line Transaction Processing):也可以称面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发的支持用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。
- 分析型处理,叫联机分析处理OLAP(On-Line Analytical Processing):一般针对某些主题历史数据进行分析,支持管理决策。
- 下面是具体的区别
二、Hive的特性
- hive是一种数据仓库:是MR的客户端,也就是说不必要每台机器都安装部署Hive
- 操作接口是采用SQL语法,HQL 2、避免了写MapReduce的繁琐过程
三、Hive体系结构
- Client
- 终端命令行
- JDBC -- 不常用,非常麻烦(相对于前者)
- metastore
- 原本的数据集和字段名称以及数据信息之间的双射关系。
- 我们目前是存储在Mysql中
- Server-Hadoop
- 在操作Hive的同时,需要将Hadoop的HDFS开启,YARN开启,MAPRED配置好
- hive工作流程