3.东软跨境电商数仓项目架构设计
东软跨境电商数仓项目架构
文章目录
- 东软跨境电商数仓项目架构
- 1.数据产生分析
- 2.数据采集通道设计
- 2.1 Mysql业务数据采集
- 2.2 用户行为数据采集
- 3. 数仓搭建部分
- 4. 数据可视化(报表系统)
- 5. 即席查询
- 6. 元数据管理
- 7. 项目的整体架构图
在技术选型完成之后,接下来我们小组的任务是对该项目的架构进行设计,我们要明确数据从哪里来,到哪里去,以及该如何使用当前的技术来处理数据。因此,我们按照数据的流向进行了架构的设计。
1.数据产生分析
东软跨境电商项目中产生的数据来源共有两大类,分别是业务交换数据和埋点收集的用户行为数据。其中业务交互数据是业务流程中产生的登录、订单、用户、商品、支付等相关的数据,通常存储在数据库当中;而埋点用户行为数据是用户在使用产品过程中,与客户端产品交互过程中产生的数据,比如页面浏览、点击、停留、评论、点赞、以及收藏等,具体产生的逻辑如下图所示:
当数据产生时,通过Nginx分别发送到对应的业务服务器和日志服务器上,其中业务数据存入到了业务服务器的Mysql当中,而日志数据存到了日志服务器的本地磁盘当中。
2.数据采集通道设计
数据的采集我们可以通过上面的分析看出来,我们需要对业务数据库当中的数据采集,也需要对日志文件数据进行采集,而这两种数据采集的方式显然是不相同的,我们针对的这两种数据分别设计采集的方式。
2.1 Mysql业务数据采集
该部分采集的方式由我们需要同步的数据以及同步的方式所决定。因为我们数据同步的方式会有部分使用增量同步,部分使用全量同步。因此,对于进行全量同步的数据,我们使用DataX进行数据的全量同步,将数据上传到HDFS上;对于进行增量同步的数据,我们选择使用Maxwell来实时监控数据库Mysql的binlog日志,将发生变化的数据上传到Kafka当中,之后再使用一个flume监控kafka当中对应的主题,从而将增量同步的数据上传到HDFS指定的路径当中。具体流程如下图所示:
2.2 用户行为数据采集
在此处数据采集设计的流程为,先在每一台日志服务器上使用flume来监听日志文件的变化,将变化的信息传输到Kafka集群中同一个topic当中,之后再使用一个flume来监听Kafka集群中的这个topic,将数据采集到HDFS对应的路径上,具体流程如下图所示:
我们知道,Flume框架本身就可以实现将日志数据采集到HDFS上,那么为什么还要使用Flume + Kafka + Flume的这一套架构来处理问题呢?
首先,使用Kafka可以将数据进行聚合。因为我们的日志数据分布在多台日志服务器上,如果我们直接在每台机器上使用Flume来监听数据上传到HDFS上,那么数据传到HDFS上时,比较散乱。而我们可以将数据先上传到Kafka的同一个topic当中,再使用Flume监控Kafka将数据上传到HDFS上,那么我们获得的数据就是完整的一份。
其次,由于我们后续还会有流处理方面的需求,我们流处理时,可以直接从Kafka当中读取数据来进行处理,速度会大幅提升。
3. 数仓搭建部分
当数据都已经采集到了HDFS上之后,我们便可以使用Hive这个数据仓库处理工具来构建数仓,由于Hive默认底层的引擎是MR,处理速度较慢,因此在该项目中,我们把底层的引擎改为Spark,使用Hive on Spark。在数据仓库搭建的模块,我们对数仓进行分层,具体的分层根据之后的业务具体分析,由于在数仓构建的过程中,我们需要执行大量的作业并且作业之间具有一定的顺序,可以构成一个DAG图,因此我们选择使用DolphinScheduler这个优秀的全流程调度工具来进行每天作业的定时调度,具体的流程如下图所示:
4. 数据可视化(报表系统)
该部分我们需要将需求中的指标在Hive数仓的ADS层拿到结果并将结果导出到Mysql数据库当中,并将数据库中的这些数据(各种指标)通过可视化工具进行大屏展示,生成我们的报表系统,具体流程图如下图所示:
5. 即席查询
另外,为了应对一些临时的在意料之外的需求,我们增加了Kylin等即席查询的框架,用来进行即席查询,流程如下图所示:
6. 元数据管理
由于我们的Hive数仓中涉及到了大量的表,如果我们不进行元数据管理,那么我们在大多数情况下如果对某一些业务没有那么数据,或者要新增一些业务,新增加表或者修改某些字段时,我们便无从下手。而我们在该项目中使用了Atlas进行元数据管理之后,我们便可以清晰地了解到数据表之间以及各个字段之间的血缘关系,这为我们对元数据地管理提供了巨大地帮助。
7. 项目的整体架构图
因此,通过上述的设计,我们得到了这个项目的整体架构图:
3.东软跨境电商数仓项目架构设计相关推荐
- 2.东软跨境电商数仓项目技术选型
东软跨境电商数仓项目技术选型.框架版本选型.服务器选型.集群规划 文章目录 东软跨境电商数仓项目技术选型.框架版本选型.服务器选型.集群规划 1.数据采集传输技术选型 1.1 DataX和Sqoop比 ...
- 亚马逊第三大卖家国家巴基斯坦电商营商环境如何?且看跨境电商数字身份验证服务商ADVANCE.AI要参解析
跨境电商数字身份验证服务商ADVANCE.AI 成立于2016年,是领先的人工智能公司,提供数字转型.反欺诈和流程自动化等解决方案,已成功服务全球超700家知名企业客户,聚焦服务行业/领域包括银行.金 ...
- 2 大数据电商数仓项目——项目需求及架构设计
2 大数据电商数仓项目--项目需求及架构设计 2.1 项目需求分析 用户行为数据采集平台搭建. 业务数据采集平台搭建. 数据仓库维度建模(核心):主要设计ODS.DWD.DWS.AWT.ADS等各个层 ...
- 卖家网:跨境电商数据查询,淘宝大学免费课程,淘宝电商培训班,电商资讯干货
卖家网:跨境电商数据查询,淘宝大学免费课程,淘宝电商培训班,电商资讯干货 卖家网:跨境电商数据查询,淘宝大学免费课程,淘宝电商培训班,电商资讯干货 posted on 2017-06-20 09:22 ...
- 2021年跨境品牌集体出海,2020年跨境电商数据报告分享
魔幻的2020年在跌宕起伏中落幕.2020年的旺季,大促节点模糊,卖家.服务商依旧拼尽全力冲刺,逆势增长.海外疫情反弹,多国再次封锁,集装箱短缺,海运价格持续高涨,物流难题贯穿2020年始终.另外,独 ...
- 跨境电商ERP项目孵化,亚马逊无货源一站式教学指导。
做网络电商的朋友应该对无货源店不会陌生,也就是国内俗称的一件代发,国内互联网电商的某宝,某东,拼夕夕卖家深受吸引,通过操作无货源店,不需要门店,不需要囤货,仓库都不需要的一件代发模式,成功开店,低成本 ...
- 电商数仓项目系列一:数据仓库简介
一.数仓定义 数据仓库顾名思义就是存储数据的仓库,不同于业务数据库用作业务支撑,数据仓库是分析系统最核心的组成部分,使用这些数据为我们的报表分析(各种销售指标),广告推广(在什么地方.什么渠道投放广告 ...
- 某家跨境电商公司服务器架构
负载均衡 + nginx+php-fpm服务器 + mysql 读写分离(一主多从)+ redis + mogodb写日志 + cdn 服务提供商: ucloud 程序:magento
- 复盘离线电商数仓3.0项目–数据开发梳理
复盘离线电商数仓项目–数据开发梳理 业务数据 数仓分层 ods层到ads层的开发 开源BI工具Superset ODS层业务数据&日志数据 ods层业务数据 使用Sqoop脚本从Mysql数据 ...
最新文章
- Ubuntu 新装服务器部署流程
- graphcool-framework 一个基于graphql的后端开发框架
- 在代码段中安排自己定义的数据
- XML与Web数据挖掘
- 在JBoss 7中使用HA Singleton
- VMware10出现VMware Workstation 不可恢复错误: (vmx)
- 程序员选择公司的8个标准
- Uncaught RangeError: Maximum call stack size exceeded解决思路
- netty大白话--字符串的收发(三)
- OJ:一道考察多态的题目
- ASP.NET2.0一次发送多封邮件
- MPP模块及sample_venc分析
- 超级科技富豪:张朝阳跌宕起伏的人生
- 传奇服务器人物技能怎么修改,传奇服务端上线0级技能,直接设置3级技能的设置方法...
- CST学习:圆形贴片天线四元阵设计(一)阵元设计
- 头文件中,#include使用引号“”和尖括号有什么区别?
- Unity3D接入Android第三方SDK流程
- Linux搭建lnmp、nginx、mysql
- 使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理。距离远时图片放大,距离近时图片缩小
- elementUI表单验证之动态表单验证
热门文章
- NMEA GPRMC 格式图解,NMEA 工具的比较
- 你有价值,你的爱才有价值
- 探究dosbox打印字符时的bug问题
- 中职计算机组装与维修专业,教育部中等职业计算机示范专业规划教材:计算机组装与维修...
- 瑞星 HookCont.sys <= 24.0.0.5 驱动本地拒绝服务漏洞
- Asp.Net文件处理
- 柏拉图對愛與婚姻得啟示---------捷徑穿越人生得麦田
- 【聆思CSK6 视觉AI开发套件试用】体验AI功能
- 计算机考研怎么给老师发邮件,考研复试前,手把手教你怎么给导师发邮件!4点要注意...
- 仿百度外卖、美团外卖、淘点点等左右联动ListView菜单展示