文档详情

Hive数据仓库-大数据文档资料.docx

发布:2025-02-20约4.57万字共154页下载文档
文本预览下载声明

第8章数据仓库Hive

Hadoop回顾

?处理大数据非常简单

?高容错性,可扩展性,可伸缩性

?回顾一个简单的例子

一条HQL与一个上百行MR程序对比

selectword,count(*)

from(

select

explode(split(sentence.))

word

fromarticle

)t

groupbyword

使用Hadoop的缺点

?过于底层

?不够灵活,受语言约束笨重不堪

?数据操作很不清晰,代码量大难维护

?常见操作如排序,连接繁琐不堪且不高效

使用Hadoop的缺点

?缺乏高级抽象

?程序关注点是如何实现,而不是要实现什么

?大量时间浪费在调试无用的细节上

?类似C和汇编的对比

新的需求

?常见的操作是对原有的数据进行不断地转化、综合、分析

?转化步骤繁杂

?存在常见的模式,例如排序,连接等

?希望将关注点提高到单个步骤之上

?需要高层工具

改进思路

启发

?SQL语言

?用户友好

?描述问题本身

?在WordCount例子中:

?SELECTword,count(*)FROMdataGROUPBYword;

?简洁、直观、可维护性、可重用性强

启发

?更复杂的例子:

?SELECTword,count(*)counterFROMdataGROUPBYwordHAVINGcounter=10ORDERBYcounter;

?ORDERBY很难在MapReduce中实现

改进思路

?建立高层抽象,通过编译转化为MapReduce任务交给Hadoop执行

?Hive:使用类似SQL的语法

?Pig:使用PigLatin脚本

Hive是什么?

?Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。

?本质是将HQL转换为MapReduce程序

Hive关注以下几点:

在Hadoop中的数据可扩展的SQL处理可扩展到100PB+

结构化和非结构化数据

Hive项目介绍

(/downloads.html)

?Facebook始创,现由Apache基金会支持

?15February2016:release2.0.0available

ThisreleaseworkswithHadoop2.x.y.Hive1.xlinewill

continuetobemaintainedwithHadoop1.x.ysupport.YoucanlookatthecompleteJIRAchangelogforthisrelease.

?适合于OLAP应用

在Hadoop生态圈的位置

建立在Hive之上的交换层

让传统DBA或者Java工程师

轻松就能完成更多的工作

最终转化成MapReduceJob

8.1Hive概述

Hive是一个基于Hadoop的数据仓库基础架构,它提供了数据存储管理和大型数据集的查询与分析的一系列工具,能够很方便地对存储于Hadoop文件系统中的数据进行简单地数据汇总、查询、分析等。Hive提供了一种类似于SQL语言来组织和查询数据,同时该类SQL语言也允许熟悉MapReduce的开发者开发自己定义的Mapper和Reducer来处理内建Mapper和Reducer无法完成的复杂分析任务。

时间

事件

2008年8月

Facebook把Hive项目贡献给Apache基金会。

2011年3月

Hive0.7.0版本发布,此版本为重大升级版本,增加了简单索引,HAING等众多高级特性。

2011年6月

Hive0.7.1版本发布,此版本修复了一些BUG,如在Windows上使用JDBC问题。

2011年12月

Hive0.8.0版本发布,此版本为重大升级版本,加BitmapIndexes、TIMESTAMPdatatype、PluginDeveloperKit、JDBCDriverImprovements等新特性。

2012年2月

Hive0.8.1版本发布,修复了一些BUG,如使Hive可以同时运行在Hadoop0.20.x与0.23.0上。

2012年4月

Hive0.9.0版本发布,重大改进版本,增加了对Hadoop1.0.0的支持、实现BETWEEN等特性。

2013年1月

Hive0.10.0版本发布,重大改进版本,如支持创建

显示全部
相似文档