全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  大数据学习教程  >  详情

大数据开发:基于Hadoop的数仓设计

来源:千锋教育
发布人:wjy
2022-12-09

推荐

在线提问>>

  企业级的大数据平台,Hadoop至今仍然占据重要的地位,而基于Hadoop去进行数据平台的架构设计,是非常关键且重要的一步,在实际工作当中,往往需要有经验的开发工程师或者架构师去完成。今天我们就来讲讲,基于Hadoop的数仓设计。

基于Hadoop的数仓设计 1

  数据仓库,是数据存储管理的重要一环,基于Hadoop的数据仓库工具Hive,提供类SQL语言,HiveQL去实现基本的查询。但是Hive并非唯一的选择,从实际业务出发,需要综合考量。

  大数据背景下的数据仓库

  在企业应用场景下,大数据规模是越来越大的,而且一旦涉及到需要启用Hadoop,那么所面临的数据是传统数仓无法稳固支撑的。

  首先,传统数据仓库基于关系型数据库,横向扩展性较差,纵向扩展有限,无法满足快速增长的海量数据存储需求;

  其次,传统数据仓库只能存储结构化数据,无法处理不同类型的数据,企业业务发展,数据源的格式越来越丰富。

  并且,传统数据仓库建立在关系型数据仓库之上,计算和处理能力不足,当数据量达到TB级后基本无法获得好的性能。

  大数据数仓体系结构

  数据仓库体系结构通常分为四个层次:数据源、数据存储和管理、数据服务、数据应用。

  数据源:是数据仓库的数据来源,含外部数据、现有业务系统和文档资料等;

  数据集成:完成数据的抽取、清洗、转换和加载任务,数据源中的数据采用ETL(Extract-Transform-Load)工具以固定的周期加载到数据仓库中。

  数据存储和管理:此层次主要涉及对数据的存储和管理,含数据仓库、数据集市、数据仓库检测、运行与维护工具和元数据管理等。

  数据服务:为前端和应用提供数据服务,可直接从数据仓库中获取数据供前端应用使用,也可通过OLAP(OnLine Analytical Processing,联机分析处理)服务器为前端应用提供负责的数据服务。

  数据应用:此层次直接面向用户,含数据查询工具、自由报表工具、数据分析工具、数据挖掘工具和各类应用系统。

  基于Hadoop的数仓设计

  ①Hive

  基于Hadoop的数据仓库,首先考虑的肯定是Hive,因为Hive本身就是建立在Hadoop之上的数据仓库

  Hive在某种程度上可以看成是用户编程接口,本身并不存储和处理数据,依赖于HDFS存储数据,依赖MR处理数据。有类SQL语言HiveQL,不完全支持SQL标准,如不支持更新操作、索引和事务,其子查询和连接操作也存在很多限制。

  Hive把HQL语句转换成MR任务后,采用批处理的方式对海量数据进行处理。数据仓库存储的是静态数据,很适合采用MR进行批处理。Hive还提供了一系列对数据进行提取、转换、加载的工具,可以存储、查询和分析存储在HDFS上的数据。

  ②Pig

  Pig可作为Hive的替代工具,是一种数据流语言和运行环境,适合用于在Hadoop平台上查询半结构化数据集,用于与ETL过程的一部分,即将外部数据装载到Hadoop集群中,转换为用户需要的数据格式。

  ③Impala

  Impala作为新一代开源大数据分析引擎,最初参照Dremel(由Google开发的交互式数据分析系统),支持实时计算,提供与Hive类似的功能,在性能上高出Hive3~30倍。

  Impala采用与商用并行关系数据库类似的分布式查询引擎,可直接从HDFS、HBase中用SQL语句查询数据,不需把SQL语句转换成MR任务,降低延迟,可很好地满足实时查询需求。

  但是Impala不能替换Hive,可提供一个统一的平台用于实时查询。Impala的运行依赖于Hive的元数据(Metastore)。Impala和Hive采用相同的SQL语法、ODBC驱动程序和用户接口,可统一部署Hive和Impala等分析工具,同时支持批处理和实时查询

  注:本文部分文字和图片来源于网络,如有侵权,请联系删除。版权归原作者所有!此页面下方声明无效!

相关文章

HDFS文件管理系统简介

2022-12-09

HDFS架构演进之路

2022-12-09

大数据开发:Hive小文件合并

2022-12-09

HDFS的故障恢复和高可用

2022-12-09

大数据开发:Flink on Yarn原理

2022-12-09

大数据开发基础:Java基础数据类型

2022-12-09
在线咨询 免费试学 教程领取