Hive 简介

1.Hive 简介
构建在hadoop之上,用来满足企业大数据存储和数据分析需求的数仓工具.
(hadoop是分布式架构,有优秀的水平扩展能力,Hive自然具有相同优点)

2.Hive与传统数仓
传统数仓:既是数据存储产品又是数据处理分析产品(同时支持数据的存储与处理分析)
Hive:本身并不支持数据的存储与处理分析(一个面向用户的编程接口,提供一种编程语言,通过该语言HiveQL去编写用户分析需求)

3.Hive如何完成数据存储与分析
Hive架构在底层的hadoop核心组件之上的(HDFS,MapReduce,yarn)
依靠Hadoop的分布式文件系统HDFS,分布式并行计算模型MapReduce,来完成大规模数据的分布式并行计算;

4.Hive的特性

  • 采用批处理的方式处理海量数据(本身不提供处理分析,将HiveQL–>mapreduce任务,进行处理分析);
    而对于数仓存储的静态数据来说,批处理也是合理的处理方式;
  • Hive提供了一系列对数据进行ETL(提取、转换、加载)的工具.(也可使用其他工具如pig)

5.Hive在hadoop架构中的位置,以及pig、HBase
Hive 简介_第1张图片
pig: 面向流式处理的一种语言,在某种程度上与Hive类似,都是转换成mr任务去分析底层数据,但相对于Hive来说是一种轻量级的交互工具.pig适合去做实时的交互式分析,主战场是数据仓库的ETL环节.
HBase: 支持实时交互式查询的数据库,用来弥补HDFS的缺陷.(HDFS不支持随机读写,只允许追加不允许修改,很多应用场景下需要实时交互式读取,因此借助HBase),同时HBase与Hive之间也是互补关系,Hive具有延时性,而HBase就可以实时分析查询.

6.Hive与传统数据库
Hive 简介_第2张图片

7.Hive在企业中部署与应用
Hive 简介_第3张图片
BI: Business Intelligence,商业智能.
Mahout: 实现很多机器学习算法,帮助企业分析人员快速构建商务智能应用(基于大规模数据集进行数据挖掘分析机器学习等).

8.Hive在FaceBook公司中的应用
Hive 简介_第4张图片
Hive 简介_第5张图片
Facebook部署大量web servers,这些web servers每天产生大量的日志流
–> 通过scribe servers(订阅服务器)对大量日志流进行收集整理
–> 存入网络文件服务器Filers中
–> Filers将日志数据再存入HDFS中,MySQL中存储的维度数据也导入HDFS中
–> 数据都进入Hadoop平台之后,Hive为所有数据构建数仓
–> 操作人员再利用Hive进行报表历史数据分析等操作
–>分析结果可导回MySQL中,也可以导入Oracle rac高性能数据库服务(提供实时对外联机服务)
以上则是Hive数仓的典型应用

9.Hive系统架构
Hive 简介_第6张图片
主要分为三个核心模块

  • 用户接口模块

    • 目的: 提供接口让外部的应用程序、用户可以访问
      Hive 简介_第7张图片
  • 驱动模块 driver

    • 目的: 将hql转化为mr任务
      Hive 简介_第8张图片
      Hive 简介_第9张图片
      可参考之前总结: https://blog.csdn.net/qxk5055/article/details/102954231
  • 元数据存储模块 MetaStore

    • 目的: 存储元数据,表名,列名,分区信息等等…
      Hive 简介_第10张图片

10.Hive HA 基本原理

Hive High Availability, Hive高可用.
实际问题: Hive实际中出现的不稳定的现象(进程丢失,端口无响应…)
提出: Hive高可用解决方案
Hive 简介_第11张图片
用户通过调用 HAproxy, 对Hive进行访问.
HAproxy 对每一个 Hive 进行逻辑可用性测试,不可用加入黑名单,可用则将外部请求转达到该 Hive 上.
每隔一段时间, HAproxy 对黑名单进行统一处理,重启连接成功后会移回资源池中.

你可能感兴趣的:(学习笔记)