2 大数据电商数仓项目——项目需求及架构设计
2 大数据电商数仓项目——项目需求及架构设计
2.1 项目需求分析
- 用户行为数据采集平台搭建。
- 业务数据采集平台搭建。
- 数据仓库维度建模(核心):主要设计ODS、DWD、DWS、AWT、ADS等各个层的具体功能与实现方法。
- 分析设备、会员、商品、地区 、活动等电商核心主题,统计的报表指标近100个。
- 采用即席查询工具,随时进行指标分析。
- 对集群性能进行监控,发生异常需要报警。
- 元数据管理:最常用的是hive元数据以及存于MySQL中的,能够帮助实现任务调度中的可视化实现。
- 数据质量监控:主要是监控数据的变化与以及质量分析。
- 权限管理。
2.2 项目架构
2.2.1 技术选型
那么根据以上需求我们提出的思考问题:
- 项目技术如何选型?
技术选型主要考虑因素:数据量大小、业务需求、行业内经验、技术成熟度、开发维护成本、总成本预算。
数据采集传输: Flume(用户行为数据)、Kafka(较大数据量时可以先缓冲数据)、Sqoop(业务数据)、Logstash(简单的日志数据)、DataX(业务数据)。
数据存储: MySQL(小量数据存储,如ADS查看报表)、HDFS(海量数据存储,如DWD)、HBase(存储kylin多维分析)、Redis(主要用于实时计算)、MongoDB(如存储爬虫数据,需要同步到数仓里)。
数据计算: Hive、Tez、Spark、Flink、Storm。放在不同的引擎中,计算速度等会有所不同。
数据查询: Presto(快速离线查询)、Kylin(离线查询)、Impala、Druid(快速实时查询)、ClickHouse(实时查询)、Doris。
数据可视化: Echarts(开源免费)、Superset、QuickBI(离线)、DataV(实时快速)。
任务调度: Azkaban(中小企业适用,易上手)、Oozie、DolphinScheduler(国内开源)、Airflow(Python)。
元数据管理: Atlas。
权限管理: Ranger、Sentry。
- 框架版本如何选型(Apache、CDH、HDP)?
- 服务器使用物理机还是云主机?
- 如何确认集群规模?(确认服务器的大小以及数量)
2.2.2 项目流程设计
- 项目需求
- 集群规模
- 服务器选型
- 框架版本选型
- 技术选型
系统数据流程设计
思考问题:
- flume采集日志: flume组成、put事务、take事务、flume三个器、flume优化
- kafka消息缓存: kafka基本信息、kafka挂了、kafka丢了、kafka重复、kafka积压、kafka优化、kafka高效读写原因。
- zookeeper分布式协调: 部署多少台、内部选举机制。
- HDFS: Har归档、CombineTextInputformat、JVM重用。
- sqoop数据同步: 需要考虑常出现的空值、一致性、数据倾斜问题,以及每天导入的数据量、执行时间。
- hive on spark: 数仓分层。
- klyin多维分析: 其处理后的数据存储在HBase中。
2.2.3 框架版本选型
见下图所示:
其中,EMR框架只需要直接选择相应框架的数量等即可一键搭建与部署;MaCcomputer、DataWorks提供独立于EMR之外的一个数据分析框架。
具体版本型号:(以Apache为例)
2.2.4 服务器选型
服务器选物理机还是云主机?
物理机:
一般物理机寿命5年左右,需要专业的运维人员以及考虑电费、放置环境等,一般有长期打算且资金充足的企业会选择物理机。
云主机:
几乎不需要考虑运维工作等因素,直接付费就可以使用,十分适合短期使用,可以即使释放资源。
2.2.5 集群规模
- 如何确认集群规模?(假设:每台服务器8T磁盘,128G内存)
(1)每天日活跃用户100万,每人一天平均100条:100万100条=1亿条
(2)每条日志1K左右,每天1亿条:100000000/1024/1021=约100G
(3)半年内不扩容服务器来算:100G180天=约18T
(4)保存3个副本:18T3=54T
(5)预留20%~30%Buf=54T/0.7=77T
(6)算到这:约8T10台服务器
2.如果考虑数仓分层?数据采用压缩?需要重新再计算
集群资源规划设计
在企业中通常会搭建一套生产集群和测试集群,生产集群运行生产任务,测试集群用于上线前代码编写和测试。
生产集群规划原则:
- 消耗内存的分开,如Hadoop的nn和rm
- 数据传输数据比较紧密的放在一起(如kafka、zookeeper)
- 客户端尽量放在一到两台服务器上,方便外部访问(如hive和spark)
- 有依赖关系的尽量放到同一台服务器(例如Hive和Azkaban Executor)
测试集群服务器规划:
一般测试集群三台服务器即可。
下一章,我们将开始介绍数据生成模块的实现。
2 大数据电商数仓项目——项目需求及架构设计相关推荐
- 大数据电商数仓分析项目
- 大数据电商数仓实战v5.0 (尚硅谷)
电商数仓实战 环境搭建快速回忆 这次详细写!------阿里云ECS云服务器抢占式 1.进入环境先创建wts用户 1.useradd wts 2.passwd wts 去/home/下查看有没有wts ...
- 大数据电商数仓--记录各种奇奇怪怪的issue
目录 hive on spark报错:Failed to create Spark client for Spark session hive格式化报错Error hive执行sql语句报错:org. ...
- 大数据---离线数仓实战项目(四)
离线数仓实战---网站流量日志分析系统 一.模块开发---数据生成模块 1.1.目标数据 1.1.1.页面数据 1.1.2.事件数据 1.1.3.曝光数据 1.1.4.启动数据 1.1.5.错误数据 ...
- 大数据Flink电商数仓实战项目流程全解(一)
项目整体思路和架构 项目最终成果展示: 本项目主要参考尚硅谷的Flink实时数仓项目完成,最近又重新跑了一遍,项目整体我会在后续上传到码云中, 也会逐步同步更新到博客中来,里面不仅包含了整体代码和整个 ...
- 百分点大数据技术团队:可插拔OSS架构设计和实战经验
编者按:随着互联网.大数据和人工智能等技术的发展,信息资源得到最大程度的共享,但随之而来的海量文件存取的功能和性能问题也日渐突出.在政务领域解决方案中,对象存储往往扮演着非常重要的角色,如全国各地的健 ...
- 大数据之电商数仓(2) | 项目经验之Hadoop
目录 Hadoop项目经验 HDFS存储多目录 支持LZO压缩配置 LZO 创建索引 基准测试 Hadoop参数调优 Hadoop项目经验 HDFS存储多目录 1.确认HDFS的存储目录,保证存储在空 ...
- 计算机毕业设计之SpringBoot+Vue.js+WebMagic电商数据分析 电商大数据 电商数据采集系统 电商大屏 大数据毕业设计 电商知识图谱
需求 近5年电商企业社会责任数据,数据可视化 (1) 社会责任数据 (2) 电商企业:(30家左右的数据即可) 1-10名:阿里巴巴.美团点评.拼多多.京东.小米集团.滴滴.贝壳找房.京东健康.阿里健 ...
- 大数据电商数据仓库系统搭建 附离线安装包
一.数仓理论 1.数据仓库概念 数据仓库(Data Warehouse),是为企业所有决策制定过程,提供所有系统数据支持的战略集合.通过对数据仓库中数据的分析,可以帮助企业,改进业务流程.控制成本.提 ...
最新文章
- webView用法小结
- Spark详解(九):Spark存储原理分析
- 《编程原本 》一第2章 变换及其轨道
- 恒生证券期货行业用户维稳工作指引(一)
- 准程序员必看!该怎么规划自己的职业人生,看看前辈们给的建议!
- C语言:求矩阵对角线元素的和
- xkcd目录_12条展示AI真相的XKCD片段
- LupoScan | 实景化点云数据处理软件
- 晒晒那些我在云栖社区获得的奖品
- Fiddler出现“The system proxy was changed. Click to reenable capturing.”,代理排查
- 微信扫码下载APK解决方案
- 【安洵杯 2019】easy-web
- android画面传输到电视,想把手机画面投屏到电视上,这个方法最简单!(收藏)...
- DOTA2攻速计算公式研究
- PyCharm中光标变粗的解决方法
- error C2872: 'ULONG_PTR' : ambiguous symbol
- 键盘上F1~F12各个功能键的作用
- “有些时候,想要赢得天才的尊重,就只能违抗他” |【经纬低调分享】
- 网站建设(3)——CDN及CDN加速原理
- php5.3升级到php5.6