adoop的数据仓库框架ive基础知识及快速入门腾讯云开发者社区

Hive是一个构建在Hadoop上的数据仓库框架。最初,Hive是由Facebook开发,后来移交由Apache软件基金会开发,并作为一个Apache开源项目。

Hive和传统数据仓库一样,主要用来协助分析报表,支持决策。与传统数据仓库较大的区别是:Hive 可以处理超大规模的数据,可扩展性和容错性非常强。

Hive 将所有数据存储在HDFS中,并建立在Hadoop 之上,大部分的查询、计算由MapReduce完成。

Hadoop 生态系统

Hadoop是一个开源框架来存储和处理大型数据在分布式环境中。它包含两个模块,一个是MapReduce,另外一个是Hadoop分布式文件系统(HDFS)。

Hadoop生态系统包含了用于协助Hadoop的不同的子项目(工具)模块,如Sqoop, Pig 和 Hive。

·Sqoop: 它是用来在HDFS和RDBMS之间来回导入和导出数据。

·Pig: 主要用于数据仓库的ETL(Extract-Transformation-Loading)环节。

·Hive: 主要用于数据仓库海量数据的批处理分析。

Hive 和传统数据库的异同

Hive采用了类SQL的查询语言HQL(Hive Query Language),底层还是MapReduce。Hive本身是数据仓库,并不是数据库系统。

Hive数据访问执行延迟高,不适合在线查询数据。

Hive在企业大数据分析平台中的应用

当前企业中部署的大数据分析平台,除Hadoop的基本组件HDFS和MapReduce外,还结合使用Hive、Pig、Hbase、Mahout,从而满足不同业务场景需求。

上图是企业中一种常见的大数据分析平台部署框架 ,在这种部署架构中:

·Hive和Pig用于报表中心,Hive用于分析报表,Pig用于报表中数据的ETL工作。

·HBase用于在线业务,HDFS不支持随机读写操作,而HBase正是为此开发,可较好地支持实时访问数据。

·Mahout 提供一些可扩展的机器学习领域的经典算法实现,用于创建商务智能(BI)应用程序。

Hive 系统架构

下图显示Hive的主要组成模块、Hive如何与Hadoop交互工作、以及从外部访问Hive的几种典型方式。

Hive主要由以下三个模块组成:

·用户接口模块,含CLI、HWI、JDBC、Thrift Server等,用来实现对Hive的访问。CLI是Hive自带的命令行界面;HWI是Hive的一个简单网页界面;JDBC、ODBC以及Thrift Server可向用户提供进行编程的接口,其中Thrift Server是基于Thrift软件框架开发的,提供Hive的RPC通信接口。

·驱动模块(Driver),含编译器、优化器、执行器等,负责把HiveQL语句转换成一系列MR作业,所有命令和查询都会进入驱动模块,通过该模块的解析变异,对计算过程进行优化,然后按照指定的步骤执行。

·元数据存储模块(Metastore),是一个独立的关系型数据库,通常与MySQL数据库连接后创建的一个MySQL实例,也可以是Hive自带的Derby数据库实例。此模块主要保存表模式和其他系统元数据,如表的名称、表的列及其属性、表的分区及其属性、表的属性、表中数据所在位置信息等。

把SQL 转化为MapReduce 任务的步骤

当Hive接收到一条HQL语句后,需要与Hadoop交互工作来完成该操作。HQL首先进入驱动模块,由驱动模块中的编译器解析编译,并由优化器对该操作进行优化计算,然后交给执行器去执行。执行器通常启动一个或多个MR任务,有时也不启动(如SELECT * FROM tb1,全表扫描,不存在投影和选择操作)。

THE END
0.数据库核心知识教程:PPT课件系列简介:数据库是信息技术的关键部分,在大数据时代尤其重要。本教程以PPT形式深入讲解SQL语言、数据库设计、保护等关键知识点,旨在帮助学习者构建坚实的数据库理论与实践基础。内容包括SQL语言的各类操作、关系数据库模型的设计原则、规范化范式、ER图设计、权限管理、备份与恢复策略、事务处理、并发控制、性能优化以及NoSQL和jvzquC41dnuh0lxfp0tfv8|gkzooa<:;6;7658ftvkimg8igvcomu86649975:=
1.SQLServer基础知识与应用课件解析简介:本课件《SQLServer课件 PPT》由北大青鸟制作,内容深入浅出地涵盖了SQLServer的基础知识和操作技巧。课件内容包括SQL Server概述、SQL语言基础、数据库设计与创建、T-SQL编程、数据库安全性、备份与恢复策略、性能优化和高级特性等。这些内容为初学者和进阶者提供了全面的学习资源,并建议结合实际操作以达到最佳学习效果jvzquC41dnuh0lxfp0tfv8|gkzooa<74:99998ftvkimg8igvcomu866:2622>5
2.SQL数据库基础知识PPT课件.pptxSQL数据库基础知识PPT课件;目录;SQL数据库概述;;SQL语言简介;数据库管理系统;数据库管理系统;SQL基础语法;数据定义语言(DDL);数据操纵语言(DML);;数据控制语言(DCL);SQL数据类型;常见数据类型介绍;常见数据类型介绍;数据类型选择原则;数据类型选择原则;类型转换与兼容性;类型转换与兼容性;SQL查询操作;SELECT语句基础;jvzquC41oc~/dxtm33>/exr1jvsm1;5471674B4937;24<5482713;:0ujzn
3.SQLServer2012数据库应用教程.pptSQL Server 2012数据库应用教程.ppt,1.1 数据库技术概述 1.2 数据模型 1.3 数据库设计 1.4 概念模型 1.5 数据库技术新发展 1 1.0 前面的话 cocktail74@ 2 从事数据库管理员(DBA)、信息管理系统应用和二次开发程序员、信 息管理系统产品销售和技术支持员等岗位的工作 cocktjvzquC41o0hpqt63:0ipo8mvon532;9134671?5573722<72336177xjvo
4.《SQL基础知识培训》课件.ppt《SQL基础知识培训》PPT课件#SQL基础知识培训1.概述什么是SQL?SQL是一种用于管理和操作关系型数据库的编程语言。SQL的发展历程SQL最早由IBM的科学家在20世纪70年代开发,现已成为广泛使用的标准。SQL的应用领域SQL广泛应用于各个行业的数据库管理、数据分析和业务应用开发中。2.SQL语法SQL语句的基本语法格式了解SQL语句jvzquC41o0xfp{jpfqi/exr1rcvft87;98>94A;0jvsm
5.数据库原理基础与实践PPT课件简介:数据库原理是IT领域核心课程,涉及关系代数、SQL语言、关系数据理论和数据库设计等关键概念。本课件为初学者设计,通过PPT形式详细讲解了数据库的基础知识和理论基础。内容包括关系代数操作、SQL基础语法、关系数据理论中的范式、数据库完整性约束和数据库设计的四个阶段。通过学习这些章节,学生将能够全面理解数据库系统jvzquC41dnuh0lxfp0tfv8|gkzooa=7348<898ftvkimg8igvcomu867268:5?7
6.+++++php组件SQL基础知识+++++php组件、SQL基础知识 一、php基本应用 Hypertext Preprocessor 嵌入thml文档的脚本编程语言,动态网站的开发语言 源码获取: www.php.net 动态网站开发 php, asp, ruby, c, bash<有程序功能的解释器> "php通过库调用完成操作文件" "bash通过内部程序" 配置jvzquC41fg|fnxugt0gmk‚zp0eun1jwvkerf1=>6379
7.数据库原理及应用SqlServer期末复习总结sqlserverurootp本文围绕SQL Server数据库展开,介绍了数据库基础知识,包括概念、主流管理系统、数据模型等。阐述了关系数据库的完整性约束、SQL语言的数据定义、更新、查询操作。还涉及数据库的安全性、完整性控制,以及事务、恢复理论和SQL Server的备份与恢复方法。 SQL Server jvzquC41dnuh0lxfp0tfv8vsa9:19>64;1gsvrhng1jfvjnnu1746@;8338