第7讲 Hive数据仓库
数据分析者面临的问题
• 数据日趋庞大,无论是入库和查询,都出现性能瓶颈
• 用户的应用和分析结果呈整合趋势,对实时性和响应时间要
求越来越高
• 使用的模型越来越复杂,计算量指数级上升
数据分析者期待的解决方案
• 完美解决性能瓶颈,在可见未来不容易出现新瓶颈
• 过去所拥有的技能可以平稳过渡。比如SQL、R
• 转移平台的成本有多高?平台软硬件成本,再开发成本,技
能再培养成本,维护成本
Hive简介
• 起源自facebook由Jeff Hammerbacher领导的团队
• 构建在Hadoop上的数据仓库框架
• 设计目的是让SQL技能良好,但Java技能较弱的分析师可
以查询海量数据
•
2008年facebook把hive项目贡献给Apache
Hive
• 数据仓库工具。可以把Hadoop下的原始结构化数据变成
Hive中的表
• 支持一种与SQL几乎完全相同的语言HiveQL。除了不支持更
新、索引和事务,几乎SQL的其它特征都能支持
• 可以看成是从SQL到Map-Reduce的映射器
• 提供shell、JDBC/ODBC、Thrift、Web等接口
• Hive不适合用于联机事务处理,也不提供实时查询功能。
最适合应用在基于大量不可变数据的批处理作业。
Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了
一系列的工具,可以用来进行数据提取转化加载(ETL),
这是一种可以存储、查询和分析存储在 Hadoop 中的大规模
数据的机制。Hive 定义了简单的类 SQL 查询语言,称为
HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也
允许熟悉 MapReduce 开发者的开发自定义的 mapper 和
reducer 来处理内建的mapper 和 reducer 无法完成的复杂
的分析工作。
Hive现状
• Hadoop生态圈中的重要项目
• 企业级数据仓库的主流架构之一
• 解决“即席查询”的问题
• 注意Cloudera的Impala项目,号称比Hive要快3-30倍
• 兼容SQL是目前大数据产品的风向标
体系结构图