大数据实战【千亿级数仓】阶段一

2021-01-27 16:10:44 浏览数 (1)

最近开始上手一个大数据离线数仓项目。本篇博客先为大家进行一个总体的介绍,包括各个阶段的任务以及项目的简介,环境,需求等等…

码字不易,先赞后看 !

总体介绍

阶段一

了解行业背景、了解项目背景,项目架构介绍、技术选型,项目环境(数据/硬件)介绍,项目ER图、项目需求介绍。

基于项目需求实现查询功能(写SQL)或整理出查询流程。

阶段二

学习、掌握kettle的使用、使用kettle将项目需求所需的数据在MySQL同步到Hive。

使用sqoop,将剩余的数据在MySQL同步到Hive。

阶段三

学习数据仓库理论知识、创建数据仓库,并导入数据。

解决数据缓慢变化维问题。

阶段四

编写SQL实现以下业务分析,并按照数据仓库结构存出结果

基于日期的订单指标分析(4)

基于地域的订单分类指标分析(18)

基于用户的订单指标分析(24)

基于用户的退货指标分析(5)

阶段五

学习、掌握kylin的使用,使用kylin,为数据仓库内的数据进行预计算

阶段六

用户浏览记录整理分析(点击流)


阶段一

目标

  • 了解大数据离线数仓架构
  • 了解项目部署环境(数据规模和集群规模)
  • 了解项目ER图
  • 了解项目需求

电商行业分析

近年来,中国的电子商务快速发展,交易额连创新高,电子商务在各领域的应用不断拓展和深化,相关服务业蓬勃发展、支撑体系不断健全完善、创新的动力和能力 不断增强。电子商务正在与实体经济深度融合,进入规模性发展阶段,对经济社会生活的影响不断增大,正成为我国经济发展的新引擎。

2012年双十一

2019年双十一

电商行业技术特点
  • 技术新
  • 技术范围广
  • 分布式
  • 高并发、集群、负载均衡(Nginx)、高可用(备机)
  • 海量数据
  • 业务复杂
  • 系统安全

电商业务系统简介

品优购网上商城是一个综合性的 B2B2C 平台,类似京东商城、天猫商城。网站采用商家入驻的模式,商家入驻平台提交申请,由平台进行资质审核,审核通过后,商家拥有独立的管理后台录入商品信息。商品经过平台审核后即可发布。

品优购网上商城主要分为网站前台、运营商后台、商家管理后台三个子系统。

网站前台

主要包括网站首页、商家首页、商品详细页、搜索页、会员中心、订单与支付相关页面、秒杀频道等。

运营商后台

是运营商的运营人员的管理后台。 主要包括商家审核、品牌管理、规格管理、模板管理、商品分类管理、商品审核、广告类型管理、广告管理、订单查询、商家结算等。

商家管理后台

入驻的商家进行管理的后台,主要功能是对商品的管理以及订单查询统计、资金结算等功能。

千亿级数仓项目简介

业务流程

现有的销售额已经是峰值了吗?是否可以继续提升?

如何在海量的客户和海量的商品之间找到结合点,达成更多的电子交易,促进电子商务平台竞争力提升,已经成为新时期网络购物,电子商务平台必须重视的重要问题。要从海量的数据中寻找决策离不开先进的数据仓库技术

千亿级数仓模仿阿里巴巴双十一的大屏显示功能实现的互联网电商指标的离线,同时也模仿了阿里巴巴大数据平台上面数据仓库的设计思想和理念。大家通过学习这个项目,能够掌握以下核心技能:

  1. 数据仓库的概念和建设过程
  2. 离线数据仓库的功能、使用场景和常用的技术栈

本次大数据数仓项目,主要围绕以下业务流程开展建设。对公司的运营、决策提供数据支撑。

  • 商家发布商品
  • 商家商品上架(商品可以被购买了)
  • 用户搜索商品
  • 用户浏览商品(查看商品的具体信息)
  • 用户可以将商品添加到购物车
  • 用户提交订单
  • 用户支付

大数据离线数仓项目架构

项目技术简介

  • Kettle
  • 缓慢变化维(拉链表):时间维度,脚本生成,时间维度生成之后不会变化
  • Hive
  • DataX:导出数据的工具
  • Spark SQL:计算引擎
  • Kylin:计算引擎,进行预计算之后的多维统计分析可以达到亚秒级别。

项目环境介绍

  • 业务数据量

用户数:300W 每日订单量:10W 每日交易额:700W 商家数:5W 商品数:45W PV:500W UV:50W

  • 数据在hdfs中平均每天 40G左右的速度增长,存储3份,每天增长大概120G,【集群如何规划】
  • 硬件资源

数量:30台 CPU资源:24核 内存:128G 硬盘:4T

两种解决方式:

1:增加磁盘,对磁盘扩容, 2:把之前的历史数据导出,hadoop归档技术,可以方便导出我们大数据集群,避免占用集群的资源,再把数据导入即可。

项目ER图

E-R图也称实体-联系-图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。它是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。

例如:

再复杂一点:

本次项目的数据总量

本次项目主要用到的10个表的ER图

项目需求

需求列表


结语

本次的【千亿级数仓】阶段一 分享就到这里,感谢看到这里的朋友?

如果以上过程中出现了任何的纰漏错误,烦请大佬们指正?

受益的朋友或对大数据技术感兴趣的伙伴记得点赞关注支持一波?

0 人点赞