百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Hadoop的数据仓库框架-Hive 基础知识及快速入门

ccwgpt 2024-10-01 08:19 19 浏览 0 评论

推荐大数据相关技术文章:

大数据技术文章汇总-Hadoop、MapReduce、Storm、Spark、Flink

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,全表扫描,不存在投影和选择操作)。

相关推荐

如何为Hadoop选择最佳弹性MapReduce框架

ZDNet至顶网服务器频道07月22日新闻消息:亚马逊Web服务的弹性MapReduce是一项基于Hadoop的实施,它可允许你运行大型的预处理工作,如格式转换和数据聚合等。虽然我们可以选择很多的...

《平安小猪》:J.K.罗琳用“魔法”放大的真实

对很多孩子来说,某些玩具是抚慰心灵的“忠实伙伴”,几乎无可替代。J.K.罗琳在看到儿子大卫对玩偶小猪的依恋后创作了“平安小猪”的故事,这也是她自《哈利·波特》之后创作的首部儿童长篇小说。男孩杰克在平安...

一页纸精华 | HDFS

要入门大数据,最好的办法就是理清hadoop的生态系统。本期为你介绍分布式文件系统HDFS。ApacheHadoop2.0生态系统如下图所示:Hadoop2.0生态系统图Hadoop核心项目包括:H...

谷歌搁置与法国出版商的协议,将等候反垄断裁定

据路透社6月29日消息,两位知情消息人士称,谷歌搁置了与一些法国出版商达成的为新闻内容付费的初步协议,将等待反垄断审议结果。该决定可能为欧洲在线新闻的版权谈判定下基调。文件显示,按照谷歌与法国新闻总联...

Java 微服务从源码实战开始 | Gitee 项目推荐

在软件开发的不同时期、阶段,对技术架构的理解、选择和应用都有着不一样的诉求。微服务架构是当前互联网业界的一个技术热点,它的思想也更符合我们的目标:根据业务模块划分服务种类。每个服务可以独立部署并且互相...

快讯|谷歌搁置向法国出版商付费协议:等待反垄断决定

财经网科技6月30日讯,据新浪科技消息,两位知情人士透露,谷歌已经搁置此前与一些法国出版商达成的为新闻内容付费的初步协议。因为谷歌正在等待一项反垄断决定,这项决定可能会为该公司的欧洲在线新闻版权谈判定...

外媒:谷歌搁置与法国出版商的协议 等候反垄断决定

路透中文网30日报道,据两位知情消息人士透露,谷歌GOOGL.O搁置了与一些法国出版商达成的为新闻内容付费的初步协议,等待一项反垄断决定。该决定可能为欧洲在线新闻的版权谈判定下基调。报道显示,根据路透...

大数据任务调度框架Oozie

Oozie(驯象人)是一个基于工作流引擎的开源框架,由Cloudera公司贡献给Apache,提供对HadoopMapReduce、PigJobs的任务调度与协调。Oozie需要部署到JavaS...

惊了!SpringBoot 3.4 触雷,升级后参数绑定竟悄悄破坏你的代码?

背景在微服务架构中,我们经常利用HTTP请求头来控制系统行为,比如实现灰度发布和流量控制。在PIG微服务框架中,我们通过重写SpringCloudLoadBalancer,根据请求he...

《终结者》:科幻电影巅峰的里程碑

在阅读此文之前,麻烦您点击一下“关注”,既方便您进行讨论和分享,又能给您带来不一样的参与感,感谢您的支持。文|庭芥摘要:本文以一位影评家的视角赏析詹姆斯·卡梅隆执导的经典科幻电影《终结者》。通过对该...

AI已经越过红线?复旦大学:在知道自己将被关闭后,AI复制了自己

2024年12月9日,复旦大学的一项研究引发了全球科技界的强烈关注。研究团队对Meta与阿里巴巴旗下的两个大型AI系统展开测试,结果发现,在知晓自身可能被关闭的情况下,它们居然选择自我复制。这不是普通...

重磅开源!LocalAI让你在个人电脑上运行AI大模型,无需显卡,已获28K Star!

随着AI技术的快速发展,如何在本地设备上高效运行AI模型成为了开发者关注的焦点。LocalAI开源项目提供了一个革命性的解决方案-它让用户能够在个人电脑上轻松部署和运行各种AI模型,并且完全兼容...

了解《终结者》的恐怖末日世界观,能让你看懂《终结者6》

相信很多人的科幻动作启蒙片,应该就是《终结者》系列,起码对于我来说,童年的暑假里,不止一次反复看着《终结者2》的电影,深深被影片中施瓦辛格的硬核铁汉形象吸引,也为片中的液态机器人着迷。《终结者》系列成...

Golang底层是用什么语言编写的?

Go底层语言Go语言在1.5版本之前主要由汇编和C语言写的,C语言占比85%以上,另外有少量的周边模块如文档等,带了些htmlshellperl代码,可以忽略不计。1.5版本及之后...

skynet服务的缺陷 lua死循环

服务端高级架构—云风的skynet这边有一个关于云风skynet的视频推荐给大家观看点击就可以观看了!skynet是一套多人在线游戏的轻量级服务端框架,使用C+Lua开发。skynet的显著优点是,...

取消回复欢迎 发表评论: