数据仓库:基础

什么是数据仓库?

面向主题的,集成的,相对稳定的,反映历史变化的数据集合,用于支持管理决策。


数据仓库,英文名称Data Warehouse,简写为DW。数据仓库顾名思义,是一个很大的数据存储集合,出于企业的分析性报告和决策支持目的而创建,对多样的业务数据进行筛选与整合。它为企业提供一定的BI(商业智能)能力,指导业务流程改进、监视时间、成本、质量以及控制。

数据仓库的输入方是各种各样的数据源,最终的输出用于企业的数据分析、数据挖掘、数据报表等方向。

数据仓库都有什么特点呢?

1.主题性

不同于传统数据库对应于某一个或多个项目,数据仓库根据使用者实际需求,将不同数据源的数据在一个较高的抽象层次上做整合,所有数据都围绕某一主题来组织。
这里的主题怎么来理解呢?比如对于滴滴出行,“司机行为分析”就是一个主题,对于链家网,“成交分析”就是一个主题。

2.集成性

数据仓库中存储的数据是来源于多个数据源的集成,原始数据来自不同的数据源,存储方式各不相同。要整合成为最终的数据集合,需要从数据源经过一系列抽取、清洗、转换的过程。

3.稳定性

数据仓库中保存的数据是一系列历史快照,不允许被修改。用户只能通过分析工具进行查询和分析。

4.时变性

数据仓库会定期接收新的集成数据,反应出最新的数据变化。这和特点并不矛盾。



什么是ETL?

ETL的英文全称是 Extract-Transform-Load 的缩写,用来描述将数据从来源迁移到目标的几个过程:

1.Extract,数据抽取,也就是把数据从数据源读出来。

2.Transform,数据转换,把原始数据转换成期望的格式和维度。如果用在数据仓库的场景下,Transform也包含数据清洗,清洗掉噪音数据。

3.Load 数据加载,把处理后的数据加载到目标处,比如数据仓库。

Hadoop?

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。

  • MapReduce:它是一种并行编程模型在大型集群普通硬件可用于处理大型结构化,半结构化和非结构化数据。
  • HDFS:Hadoop分布式文件系统是Hadoop的框架的一部分,用于存储和处理数据集。它提供了一个容错文件系统在普通硬件上运行。

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

  • Sqoop: 它是用来在HDFS和RDBMS之间来回导入和导出数据。
  • Pig: 它是用于开发MapReduce操作的脚本程序语言的平台。
  • Hive: 它是用来开发SQL类型脚本,用于做MapReduce操作的平台。

Pig是接近脚本方式去描述MapReduce,Hive则用的是SQL。

注:有多种方法来执行MapReduce作业:

  • 传统的方法是使用Java MapReduce程序结构化,半结构化和非结构化数据。
  • 针对MapReduce的脚本的方式,使用Pig来处理结构化和半结构化数据。
  • Hive查询语言(HiveQL或HQL)采用Hive为MapReduce的处理结构化数据。

Hive?

1.HDFS

Hadoop的分布式文件系统,在这里作为数据仓库的存储层。图中的Data Node就是HDFS的众多工作节点。

2.MapReduce

一种针对海量数据的并行计算模型,可以简单理解为对多个数据分片的数据转换和合并。

Hive的主要优势是:免费!

Hive是什么

Hive是一个基于Hadoop的数据仓库基础工具,在Hadoop中用来处理结构化数据,可以对存储在HDFS上的文件数据集进行查询和分析处理。它架构在Hadoop之上,Hive对外提供了类似于SQL语言的查询语言 HiveQL,在做查询时将HQL语句转换成MapReduce任务,在Hadoop层进行执行。

最初,Hive是由Facebook开发,后来由Apache软件基金会开发,并作为进一步将它作为名义下Apache Hive为一个开源项目。它用在好多不同的公司。例如,亚马逊使用它在 Amazon Elastic MapReduce。

Hive 不是

* 一个关系数据库 
* 一个设计用于联机事务处理(OLTP) 
* 实时查询和行级更新的语言 

Hiver特点

* 它存储架构在一个数据库中并处理数据到HDFS。
* 它是专为OLAP设计。 
* 它提供SQL类型语言查询叫HiveQL或HQL。 
* 它是熟知,快速,可扩展和可扩展的。 

Hive架构

Hive的组件总体上可以分为以下几个部分:用户接口(UI)、驱动、编译器、元数据(Hive系统参数数据)和执行引擎。

  1. 对外的接口UI包括以下几种:命令行CLI,Web界面、JDBC/ODBC接口;
  2. 驱动:接收用户提交的查询HQL;
  3. 编译器:解析查询语句,执行语法分析,生成执行计划;
  4. 元数据Metadata:存放系统的表、分区、列、列类型等所有信息,以及对应的HDFS文件信息等;
  5. 执行引擎:执行执行计划,执行计划是一个有向无环图,执行引擎按照各个任务的依赖关系选择执行任务(Job)。
    Hive编译器将HQL代码转换成一组操作符(operator),操作符是Hive的最小操作单元,每个操作符代表了一种HDFS操作或者MapReduce作业。

下面的组件图描绘了Hive的结构:

流程如下:
1 Execute Query Hive接口,如命令行或Web UI发送查询驱动程序(任何数据库驱动程序,如JDBC,ODBC等)来执行。
2 Get Plan 在驱动程序帮助下查询编译器,分析查询检查语法和查询计划或查询的要求。
3 Get Metadata 编译器发送元数据请求到Metastore(任何数据库)。
4 Send Metadata Metastore发送元数据,以编译器的响应。
5 Send Plan 编译器检查要求,并重新发送计划给驱动程序。到此为止,查询解析和编译完成。
6 Execute Plan 驱动程序发送的执行计划到执行引擎。
7 Execute Job 在内部,执行作业的过程是一个MapReduce工作。执行引擎发送作业给JobTracker,在名称节点并把它分配作业到TaskTracker,这是在数据节点。在这里,查询执行MapReduce工作。
7.1 Metadata Ops 与此同时,在执行时,执行引擎可以通过Metastore执行元数据操作。
8 Fetch Result 执行引擎接收来自数据节点的结果。
9 Send Results 执行引擎发送这些结果值给驱动程序。
10 Send Results 驱动程序将结果发送给Hive接口。

Teradata?

Teradata数据仓库配备性能最高、最可靠的大规模并行处理 (MPP) 平台,能够高速处理海量数据,其性能远远高于Hive。

它使得企业可以专注于业务,无需花费大量精力管理技术,因而可以更加快速地做出明智的决策,实现 ROI(投资回报率) 最大化。

【参考】
https://blog.csdn.net/dajiangtai007/article/details/80238539

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,997评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,603评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,359评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,309评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,346评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,258评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,122评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,970评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,403评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,596评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,769评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,464评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,075评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,705评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,848评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,831评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,678评论 2 354

推荐阅读更多精彩内容

  • 数据仓库 什么时候需要用到数据仓库? 一个公司里面不同项目可能用到不同的数据源,有的存在MySQL里面,又的存在M...
    dy2903阅读 1,117评论 0 1
  • 什么时候需要用到数据仓库? 一个公司里面不同项目可能用到不同的数据源,有的存在MySQL里面,又的存在MongoD...
    dy2903阅读 19,992评论 0 8
  • iOS 11以前,可使用下面方法进行设置 - (void)setBackButtonTitlePositionAd...
    回眸月阅读 1,074评论 0 1
  • 我只是我!我极度自卑,伤感,害怕别人注视着我,我胆小,我内向,我很容易受伤,如果爱我,请好好对我,珍惜我,如果不爱...
    杨_288c阅读 191评论 0 1
  • 原兄难追忆,非我知者谁? 若可早华年,称兄并进退。 此局无容处,但愿生死随。 少友黑白面,兽禽无可窜。
    沐梵晟阅读 167评论 0 2