电商数仓项目需求及架构设计

一、项目需求

1.用户行为数据采集平台搭建

2.业务数据采集平台搭建

3.数仓维度建模

4.统计指标

5.即席查询工具,随时进行指标分析

6.对集群性能进行监控,发生异常时报警(第三方信息)

7.元数据管理

8.质量监控

9.权限管理(表级别、字段级别)

 二、技术选型

数据量大小、业务需求、行内经验、技术成熟度、开发维护成本、总成本预算

数据采集传输:Flume、Kafka、Sqoop、Logstash(日志采集)、DataX

数据存储:MySQL(ADS层)、HDFS、HBase、Redis、MongoDB

数据计算:Hive、Tez、Spark、Flink、Storm

数据查询:Presto、Kylin、Impala、Druid、ClickHouse、Doris

数据可视化:ECharts、Superset(开源免费)QuickBI(离线)、DATAV(实时)(阿里产品)

任务调度:Azkaban、Oozie、DolphinScheduler、Airflow

集群监控:Zabbix(离线)、Prometheus(实时)

元数据管理:Atlas

权限管理:Ranger、Sentry(Apache已将其除名)

 三、系统数据流程处理

Nginx:负载均衡,主要负责使每个服务器上面的数据保持平衡

主要分为业务数据 用户行为数据

业务数据存储在MySQL,通过Sqoop将数据同步到集群

用户行为数据主要来源于前端埋点,数据以文件的形式存放,通过Flume将日志文件采集到Kafka(避免直接采集,防止数据量过大,消峰),再通过Flume将数据同步到集群,通过HIVE On Spark对数据进行存储、清洗、转换等操作,将数据分为ODS数据原始层、DWD数据明细层、DWS数据服务层、DWT数据主题层、ADS数据应用层

ADS层数据再通过Sqoop同步到MySQL进行可视化分析展示(Superset)

在计算过程中可通过Presto对DWD,DWS,DWT层数据进行即席查询

通过Kylin可对DWD层数据进行多维分析,结果可存储到HBase

定时任务调度工具可使用Azkaban

元数据管理使用Atlas

权限管理使用Ranger

数据质量管理使用Python+Shell

集群监控使用Zabbix

四、框架发行版本选择以及集群规模

Apache  开源免费

云服务器:阿里云EMR

                  亚马逊云EMR        

                  腾讯云EMR

                  华为云EMR

物理机或者云服务器的选择主要根据公司需求来选择

物理机:场地、电费、机器维护,后期服务器运维等费用高,安全性也相对高

云服务器:成本高,但后期维护比较省事,安全性相对物理机来说低

如何购买服务器?

日活 100万 * 一人平均100条 * 日志大小1K * 半年不扩容 * 180 * 三个副本3 * 预留20%~30%Buf = 77T

再考虑到数仓分层,数据压缩等

集群资源规划设计

生产集群 原则:

消耗内存的分开

数据传输紧密地放在一起

客户端尽量放在一台服务器上,方便外部访问(数据安全性)

有依赖关系的尽量放在一台服务器上

测试集群:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/91669.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国产10米分辨率的卫星介绍、下载和处理教程

10米分辨率的资源卫星介绍、下载和处理教程 简介 说起免费的10米分辨率卫星影像,大家首先想到的是sentinel卫星。但其实还有我国的中巴地球资源卫星04星(CBERS04)。 中巴地球资源卫星(China Brazil Earth Resources Satellite, CBERS)是中国和巴西共同投资、联合研制的地球…

【ES】elasticsearch8.3.3

这里仅实践操作并根据实际问题进行记录笔记。 运行 ES8 我们需要在自己的电脑上安装好 Docker Desktop。接着我们运行如下的命令:出现两个异常,一个是需要使用winpty因为我使用win的docker desktop,另外一个问题是docker启动elasticsearchE…

LeetCode--HOT100题(46)

目录 题目描述:114. 二叉树展开为链表(中等)题目接口解题思路代码 PS: 题目描述:114. 二叉树展开为链表(中等) 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链…

简单了解OSI网络模型

目录 一、协议是什么? 二、OSI七层模型 三、TCP/IP五层模型 一、协议是什么? 协议顾名思义就是通过大家伙一起协商讨论达成的统一规则和标准。网络协议就是规定用户数据信息如何在网络上传播以及实现某种网络技术所要遵循的统一标准和规则。 二、OSI…

其他行业跳槽转入计算机领域简单看法

其他行业跳槽转入计算机领域简单看法 本人选择从以下几个方向谈谈自己的想法和观点。 先看一下总体图,下面会详细分析 如何规划才能实现转码 自我评估和目标设定:首先,你需要评估自己的技能和兴趣,确定你希望在计算机领域从事…

苹果使用3D打印技术制造Apple Watch Series 9手表外壳

据彭博社的马克・古尔曼报道,苹果公司正在使用 3D 打印技术来制造即将推出的部分Apple Watch Series 9 的外壳。这种制造工艺可以节省传统数控加工所需的大量金属材料,同时缩短生产时间。这与之前苹果分析师郭明錤的说法相吻合。 苹果公司自2021年推出Ai…

信息图片怎么做二维码?图片生码的操作方法

现在很多人会将自己的证件信息的图片生成二维码使用,那么图片转二维码的操作方法是什么样的呢?想要将图片生成二维码的方法非常简单,利用二维码生成器(免费在线二维码生成器-二维码在线制作-音视频二维码在线生成工具-机智熊二维码…

MySQL 5种索引应用

文章目录 简介一、聚集索引二、唯一索引三、聚集索引和唯一索引对比四、非唯一(普通)索引五、全文索引六、组合索引七、索引验证总结 简介 在本篇文章中,我们将学习MySQL中5种不同类型的索引及其应用场景,以及它们的优缺点。 一…

【狂神】Spring5笔记(1-9)

目录 首页: 1.Spring 1.1 简介 1.2 优点 2.IOC理论推导 3.IOC本质 4.HelloSpring ERROR 5.IOC创建对象方式 5.1、无参构造 这个是默认的 5.2、有参构造 6.Spring配置说明 6.1、别名 6.2、Bean的配置 6.3、import 7.DL依赖注入环境 7.1 构造器注入 …

设计模式大白话——适配器模式

适配器模式 概述示例适配器的种类小结 概述 ​ 适配器其实非常好理解,放到生活中来,我们身边处处都有这样的例子,最常见的是用的比较多的各种转接线(如:USB 转 Type-C),有了这个“适配器”&…

cocosCreator 之 微信小游戏打包

版本: v3.8.0 环境: Mac 介绍 cocosCreator 支持将游戏发布到多个小游戏平台,并提供了打包等流程处理。 本篇文章主要讲述下微信小游戏的发布流程相关。更多内容参考官方文档: 发布到小游戏平台 微信小游戏的发布相关&#xff…

leetcode875. 爱吃香蕉的珂珂(java)

二分查找 爱吃香蕉的珂珂二分查找 上期经典 爱吃香蕉的珂珂 难度 - 中等 LC - 875.爱吃香蕉的珂珂 珂珂喜欢吃香蕉。这里有 n 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 h 小时后回来。 珂珂可以决定她吃香蕉的速度 k (单位&…