公司最近要搞数据分析,两个项目拥有不同的数据源,有些数据存在Oracle,有些数据存在MongoDB,再加上一些第三方的数据。
其实说到数据分析,我就会想到hadoop,然后就会联系到数据仓库,我觉得数据仓库就能够非常好的解决这个问题
数据仓库,英文名称Data Warehouse ,简称DW。数据仓库见名知意,就是一个很大的用来储存数据的集合,用于解决企业数据分析性和决策目的创建,对多样的数据进行筛选与整合,指导业务流程改进、成本、质量以及控制。
数据仓库的输入房就是各种各样的数据源,最终的输出用来为企业做数据分析、数据挖掘和数据报表。
先说说数据仓库的特点
1、主题性
不同于传统数据库对应于某个或多个项目,数据仓库根据使用者实际需求,将不同数据源的数据在一个较高的抽象层次上做一个整合,所有数据都围绕某一个主题来组织。
这里的主题又是什么呢?比如淘宝,“用户成交分析”就是一个主题,对于美团,那么“交易分析”就是一个主题了。
2、集成性
数据仓库中储存的数据是来源于多个数据源的集合,原始数据来自不同的数据源,要整合为最终的数据集合,需要把数据源经过抽取->清洗->转换的过程。(其实这就是ETL了)
3、稳定性
数据仓库中保存的数据是一系列历史快照,不允许被修改。用户只能通过分析工具进行查询和分析。
4、时变性
数据仓库会定期接收新的集成数据,反应出最新的数据变化。(这个是稳定性并不矛盾)
既然数据源有多种多样,那么数据仓库要做数据集成,所依靠的就是【ETL】。
ETL的英文全称是Extract-Transform-Load的缩写。
那么市面上常用的数据仓库都有哪些?
在国内最常用的是一款基于Hadoop的开源数据仓库,叫【Hive】。
Hive是基于Hadoop的数据仓库工具,可以对储存在HDFS上的文件数据集进行查询和分析处理。Hive同时也提供了类似与SQL语言的查询语言HiveQL,在做查询时将HQL语句转换成MapReduce任务进行执行。
这里不对Hive进行详解。
这里简单的说明了数据仓库和ETL,如果存在错误或者不全面的地方,请大家指正。
(╯°□°)╯︵┻━┻
联系客服