大数据平台架构+ETL

2019-09-09 16:25:47 浏览数 (1)

1

ETL,Extraction-Trasformation-Loading,即数据读取,转换,装载的过程,是构建数据仓库的重要环节。

ETL是将业务系统的数据经过抽取,清洗转换之后加载到数据仓库的过程,目的是将企业中的额分散的,零乱的,标准不统一的数据整合到一起,为企业决策提供分析依据。ETL是BI项目中重要的一个环节。

数据抽取:把不同的数据源数据抓取过来,存到某个地方。例如:网络爬虫。

数据清洗:过滤那些不符合要求的数据或者修正数据之后再抽取。清洗包括以下几种不符合要求的数据:

1、不完整的数据:数据缺失需要不全才能写入数据仓库。

2、错误的数据:格式错误,日期越界,或者多了一个空格等。

3、重复的数据:重复数据记录的所有字段都要去重。

数据转换:不一致的数据转换。统一编码。

ETL的实现方法:

1、借助ETL工具。(如OWB,DTS,SSIS等)实现。

2、SQL方法实现。

3、ETL工具与SQL相结合。

工具降低难度,但缺少灵活性。SQL灵活但编码复杂,因此结合两者。

2

大数据平台架构

首先,对于做大数据开发而言,平台的监控与报警和平台管理不归我们管,主要是给运维人员做的事情。我们要做的就是中间的事情。

然后来看看数据基础平台接入层,获取数据,一般用Canal,Sqoop与Flume。存储层,当我们拿到数据以后,我们需要找个地方存储,首选HDFS(分布式文件系统,前面讲过),这里就是作为一个存储层。另外还有HBase,可以称作大数据中的数据库。Kafka的话一般会跟Flume作为一个组合。调度层,就是把计算层的计算放到调度层运行。如前面讲的小案例,就是把mapreduce放到yarn上面去运行。计算层,就是对数据的处理运算。

接着看数据应用平台元数据管理。这边的元数据要存储到关系型数据库中。作业平台管理,就是任务调度。交互分析就关系到sql语句。多维分析主要是对数据的维度分析,如按年分析,按月分析,按周分析等。数据可视化,展示数据,供给决策。

最后看看数据应用。一般做的就是流量统计和用户行为分析,做数据展示。

3

系统数据流动

最左边是数据来源,可以看到,一个是来自日志数据,另外一个是来源于关系型数据库。

实时流。拿到数据后直接存入kafka或者是hdfs中进行缓存,如果此时计算层需要调度数据,可以直接从kafka中直接消费。计算完后对数据存储还可以存储回kafka或者放到HBase或mysql,从而作为业务上的使用。

离线流,存储到hdfs然后由MR调用,接着是ETL对数据的处理,处理完后将数据存储到关系型数据库,最后可以做出BI报表展示。

这边的话可能我的逻辑也有点乱...主要还是看图分析吧。

0 人点赞