基于Hadoop的数据仓库Hive
提纲
概述
Hive系统架构
Hive工作原理
Hive HA基本原理
Impala
Hive编程实践
概述
数据仓库概念
传统数据仓库面临的挑战
Hive简介
Hive与Hadoop生态系统中其他组件的关系
Hive与传统数据库的对比分析
Hive在企业中的部署和应用
数据仓库概念
数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。
数据仓库的体系结构
(1)无法满足快速增长的海量数据存储需求
(2)无法有效处理不同类型的数据
(3)计算和处理能力不足
传统数据仓库面临的挑战
Hive简介
Hive是一个构建于Hadoop顶层的数据仓库工具
支持大规模数据存储、分析,具有良好的可扩展性
某种程度上可以看作是用户编程接口,本身不存储和处理数据
依赖分布式文件系统HDFS存储数据
依赖分布式并行计算模型MapReduce处理数据
定义了简单的类似SQL 的查询语言——HiveQL
用户可以通过编写的HiveQL语句运行MapReduce任务
可以很容易把原来构建在关系数据库上的数据仓库应用程序移植到Hadoop平台上
是一个可以提供有效、合理、直观组织和使用数据的分析工具
Hive简介
Hive具有的特点非常适用于数据仓库
采用批处理方式处理海量数据
Hive需要把HiveQL语句转换成MapReduce任务进行运行
数据仓库存储的是静态数据,对静态数据的分析适合采用批处理方式,不需要快速响应给出结果,而且数据本身也不会频繁变化
提供适合数据仓库操作的工具
Hive本身提供了一系列对数据进行提取、转换、加载(ETL)的工具,可以存储、查询和分析存储在Hadoop中的大规模数据
这些工具能够很好地满足数据仓库各种应用场景
Hive与Hadoop生态系统中其他组件的关系
Hive依赖于HDFS 存储数据
Hive依赖于MapReduce 处理数据
在某些场景下Pig可以作为Hive的替代工具
HBase 提供数据的实时访问
Hive与Hadoop生态系统中其他组件的关系
Hive与传统数据库的对比分析
Hive在很多方面和传统的关系数据库类似,但是它的底层依赖的是HDFS和MapReduce,所以在很多方面又有别于传统数据库
对比项目
Hive
传统数据库
数据插入
支持批量导入
支持单条和批量导入
数据更新
不支持
支持
索引
支持
支持
分区
支持
支持
执行延迟
高
低
扩展性
好
有限
大数据技术原理与应用 来自淘豆网www.taodocs.com转载请标明出处.