大数据架构

大数据框架从0到1整个过程的实现,根据本博客内容,可以实现整个大数据基本搭建,只是大概步骤,供学习参考。

本博客从下面5个方面介绍:
技术框架+技术选型+系统架构设计+业务流程+生态实现步骤


以阿里为例的大数据架构,通过学习视频,然后自己记录起来,可以时刻阅读。如有侵权,可以联系我,我随时删除。

大数据其实就是在海量数据的情况下的研究。假如数据量很少,其实用Excel就完全可以了。


1、阿里云的技术框架

这里将其和其他框架进行对比

阿里云产品简介其他产品
ECS弹性服务器Linux服务器
RDS关系型数据库Mysql
DataHub数据总线Kafka+各种服务器接口
实时计算可以实时计算Spark、Flink
Dataworks可视化StreamCompute的开发管理平台暂无
AnalyticDB for Mysql分析型数据库Mysql集群
DataV、QuickBI可视化数据展示工具Tableau、Echarts、Kibana、Unity3D、Matplot

2、技术选型

这里根据上面的技术框架,对数据采集、数据存储、数据计算和数据可视化工具进行选型。

功能阿里云框架其他开源框架
数据采集(传输)DataHub、DTSFlume、Kafka、Canal、MaxWell
数据存储RDS、AnalyticDBMysql、Hadoop、Hbase
数据计算实时计算Spark、Flink
数据可视化DataV、QuickBITableau、Echarts、Kibana

3、系统架构设计

ECS :用户行为数据–文件形式
RDS:业务数据–mysql数据
同步事实表—一般数据庞大,这个一般确定后,尽量少修改。数据到Datahub
同步维表—数据量小,列数多,这个方便修改。直接到维度表RDS(这个RDS和上面的RDS不同,这个RDS形成过程是解耦过程)


4、业务流程

这里3个事实表、7个维表,这里有数仓分层思想。
这里数仓分为:ODS层、DWD层、DWS层和ADS层。
数据从事实表和维表–>AnalyticDB过程:

 1. 事实表不做处理,作为ODS层,直接存储Datahub(万一实时计算出错,之后还可以调用该事实表数据)。 2. 之后实时计算直接读取事实表,生成DWD层,存储在Datahub。 3. 之后根据DWD层和聚合的维度层进行实时计算生成ADS层,存储到AnalysitcDB里。

这里可能没有涉及到DWS层。


5、整个生态实现步骤


根据上面的图进行生态建模步骤:

1.购买**RDS**,创建数据集合,用RDS2.创建Datahub项目3.直接用DTS把RDS事实表数据同步到创建的Datahub4.用第二个DTS把RDS维表数据同步到RDS新库(维表库)这两个DTS需要分别创建5.聚合维度表-视图表,方便之后管理和使用6.分层—**实时服务器购买**,创建实时计算集群和项目环境7.创建dataworks环境,把项目和集群绑定起来,用于开发8.ODS层到DWD层—直接在Dataworks里面实现(Datahu--实时处理--到Datahub)直接使用sql创建数据源表-创建数据结果表还需要在Datahub中创建结果表,之后才可以使用sql导入9.**AnalyticDB购买**