大数据技术---数据仓库Hive

一、数据仓库Hive概述

1、数据仓库
数据仓库:是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。
根本目的:支持企业内部的商业分析和决策,基于数据仓库的分析结果,做出相关的经营决策。
大数据技术---数据仓库Hive_第1张图片2、数据仓库和传统数据库的区别?
(1)数据仓库相对稳定
(2)传统数据库只能保留某一时刻的状态信息,数据仓库保留所有的历史数据,帮助企业构建经营分析系统。
(3)面临挑战:传统数据仓库无法满足快速增长的海量数据存储需求、无法有效处理不同类型的数据、计算和处理能力不足

3、Hive简介
Hive:构建在Hadoop核心组件基础之上,不支持数据的存储和处理,只是提供了一种编程语言(HiveQL,类似于SQL)。用户利用HiveQL来运行具体的mapreduce任务。
Hadoop:支持大规模数据存储的组件叫HDFS,支持大规模数据处理的组件叫MapReduce。
Hive特性:
(1)批处理的方式处理海量数据:Hive会把HiveQL语句转换成mapreduce任务进行运行;数据仓库存储的是静态数据,对静态数据的分析适合采用批处理方式,不需快速响应给出结果,而且数据本身也不会频繁变化。
(2)Hive提供了一系列对数据进行提取、转换、加载(ETL)的工具:可以存储、查询和分析存储在Hadoop中的大规模数据。
大数据技术---数据仓库Hive_第2张图片
大数据技术---数据仓库Hive_第3张图片

二、Hive系统架构和工作原理

Hive系统架构:
大数据技术---数据仓库Hive_第4张图片
1、对外访问的接口
大数据技术---数据仓库Hive_第5张图片2、驱动模块(driver)
包含编译器、优化器、执行器。负责把 hiveQL 语句转换成一系列 mapreduce 作业。

3、元数据存储模块(metastore)
是一个独立的关系型数据库。通过MySQL数据库来存储hive的元数据。

SQL转换成MapReduce的原理:
1、连接:利用MapReduce来实现数据库的连接操作。
大数据技术---数据仓库Hive_第6张图片
大数据技术---数据仓库Hive_第7张图片
2、当用户向hive输入一段命令或者查询时,hive表需要和Hadoop交互工作来完成该操作。

三、Impala简介

1、Impala简介
hive:hive是建立在Hadoop平台上,依赖底层的mapreduce和hdfs,所以它的延时比较高。
Impala:是由Cloudera公司开发的新型查询系统,运行需要依赖于hive的元数据,通过分布式查询引擎直接与hdfs和hbase进行交互查询。

2、Impala系统架构
大数据技术---数据仓库Hive_第8张图片
组件:
(1)Impalad:查询计划器、查询协调器、查询引擎。负责协调客户端提交的查询执行,与hdfs的数据运行在同一节点上。
大数据技术---数据仓库Hive_第9张图片
(2)State Store:负责收集分布在集群中各个Impalad进程的资源信息,用于查询调度。
(3)CLI:给用户提供查询的命令行工具。
大数据技术---数据仓库Hive_第10张图片
3、Impala查询执行过程
大数据技术---数据仓库Hive_第11张图片
执行查询的具体过程:
(1)当用户提交查询前,Impala先创建一个负责协调客户端提交的查询的Impalad进程,该进程会向Impala state store提交注册订阅信息,state store 会创建一个statestore进程,statesored进程通过创建多个线程来处理Impalad的注册订阅信息。
(2)用户通过CLI客户端提交一个查询到Impalad进程,Impalad的query planner对SQL进行解析,生成解析树,planner把这个查询的解析树变成若干个planfragment(分片),发送到query coordinator。
(3)coordinator通过MySQL元数据库中获取元数据,从hdfs的名称节点中获取数据地址,以得到存储这个查询相关数据的所有数据节点。
(4)coordinator初始化相应Impalad上的任务执行,把查询任务分配给所有存储这个查询相关数据的数据节点。
(5)query executor通过流式交换中间输出,并由query coordinator汇聚来自各个Impalad的结果。
(6)coordinator把汇总后的结果返回给CLI客户端。

4、Impala和Hive对比?
不同点:
大数据技术---数据仓库Hive_第12张图片大数据技术---数据仓库Hive_第13张图片
相同点:
大数据技术---数据仓库Hive_第14张图片
大数据技术---数据仓库Hive_第15张图片

你可能感兴趣的:(hive,hadoop,big,data,Impala)