前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据开发:基于Hadoop的数仓设计

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

作者头像
成都加米谷大数据
修改2021-01-08 10:13:29
9580
修改2021-01-08 10:13:29
举报
文章被收录于专栏:大数据开发

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

数据仓库,是数据存储管理的重要一环,基于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等分析工具,同时支持批处理和实时查询。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 大数据背景下的数据仓库
  • 大数据数仓体系结构
  • 基于Hadoop的数仓设计
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档