**Hive**
** Facebook开源
** 官网:hive.apache.org
** Hive是基于Hadoop的一个数据仓库工具
Hive与数据库:
数据库: mysql、oracle、DB2、sqlserver
数据仓库 !== 数据库 换言之, Hive不是数据库
为什么要选择hive
MapReduce编程成本高
针对传统的DBA,不会不熟悉java,要想数据分析,借助Hive
Hive简介:
** 流程
hql --> Hive(java) --> mapreduce -->yarn --> hdfs
本质: 将HQL转化成MapReduce程序
使用MapReduce计算模型,运行在yarn平台之上
Hive适合离线批量处理,延时比较大
不适合在线业务实时分析结果,业务要求延时较低的场景不适合
Hive体系结构
** 用户接口: Client
** 终端命令行CLI --主要的一种使用方式
JDBC方式 --几乎不用
元数据:metastore
** 默认apache使用的是derby数据库(只能有一个客户端使用),CDH使用postgreDB
** 企业通常我们会选择另外一种mysql来存储
元数据包括:表名、表所属的数据库(默认是default)、
表的拥有者、列/分区字段、表的类型(是否是外部表)、
表的数据所在目录等
** 这里并没有存储Hive表的真实数据
** Hadoop
使用HDFS进行存储