系统架构简析

5 篇文章 0 订阅
3 篇文章 0 订阅

1、存储系统:

(1)HDFS:分布式存储系统,海量数据存储系统;以文件为单元;

(2)MYSQL:数据库,存储业务表,快速,但有限;以行为单元;

(3)HBASE:分布式列式存储的数据库;以文件为单元;

可以实现CRUD,把数据存储在HDFS中;

借助HDFS存储、管理数据;

数据格式是hflie;

特点:根据某一两个纬度进行查询时速度快,用rowkey主键查询时速度最快;但是索引层次不能太多,影响效率;不适合多纬度查询。

(4)HIVE:用来处理结构化数据,流程:写SQL,统计报表,聚合,运算。

不适合实时处理,延迟高;也不适合做OLAP引擎(实时处理),不能快速返回结果。

2、运算框架:

(1)MR:慢,但稳定。不着急的时候,写HIVE,转换成MR程序,进行处理运算。

(2)SPARK:(快,但不稳定)①数据预处理,数据中加核心字段进行集成,把业务表中的数据集成到日志表中,

②处理结构化数据。

3、数据:

(1)业务数据:订单表、商品表等;对接mysql。

(2)用户行为(日志)数据:一般是日志数据,可能是JSON、文本形式;

(3)第三方数据。

系统架构简析:

①实际生产中,每天都会增加,需要存储到HDFS中;

②用户行为数据通过flume、以文件的形式采集到HDFS中;

③采集的数据直接放到ODS层中(ODS–>原始数据层);

预处理:放到ODS层之前可以做数据预处理(也可以不做),处理脏数据,补充核心字段;spark来做;

④经过ETL,补充核心字段、数据清洗、集成(会集成业务数据、用户数据中的某个字段,选型:SPARKSQL、Sqoop或者dataX)、转换格式,数据到达DWD层(事实纬度明细层,数据明细);

⑤到达DWS层,进行数据处理分析;经过HIVE写的SQL的处理,生成报表;

分析好的数据报表放在HDFS中,或者放在MYSQL中;或者经过一个可视化工具,进行展示;

MYSQL可能放不下,拿数据也比较慢,就可以放在HBASE中;

但是HBASE只能根据某一两个纬度进行查询时速度比较快,用rowkey主键查询时速度最快;

用户的查询纬度是多变的、不确定的、而又需要快速的得到结果,所以展示数据的样式是多变的、不可预测的,纬度不是统一的,MYSQL可以做但是数据量不能太大,因此需要进行联机分析处理OLAP;而clickhouse可以作为一个OLAP引擎,可以进行多维度分析,而且能够快速响应。

⑥ADS(应用服务层),对接到页面、服务系统等。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值