logo资料库

基于阿里云搭建数据仓库(离线).pdf

第1页 / 共203页
第2页 / 共203页
第3页 / 共203页
第4页 / 共203页
第5页 / 共203页
第6页 / 共203页
第7页 / 共203页
第8页 / 共203页
资料共203页,剩余部分请下载后查看
基于阿里云搭建数据仓库(离线) 基于阿里云搭建数据仓库(离线) (阿里云大学 & 尚硅谷 联合出品) 版本:V2.0 课程目标 第 1 章 数据仓库概念 阿里云大学 & 尚硅谷 联合出品 - 1 - 0课程目标1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。3)前置知识要求 熟练掌握SQL语法 熟悉Linux命令 对Hadoop大数据体系有一定的了解0第1章 数据仓库概念数据仓库定义( Data Warehouse ),是为企业所有决策制定过程,提供所有系统数据支持的战略集合。数据仓库好处:可以帮助企业,改进业务流程、控制成本、提高产品质量等。数据仓库做什么:清洗,转义,分类,重组,合并,拆分,统计等。数据仓库输出到哪:报表系统、用户画像、推荐系统、机器学习、风控系统等数据仓库报表系统推荐系统机器学习风控系统日志采集系统业务系统数据库爬虫系统等用户画像
基于阿里云搭建数据仓库(离线) 第 2 章 项目需求及架构设计 2.1 项目需求分析 2.2 项目框架 阿里云大学 & 尚硅谷 联合出品 - 2 - 02.1 项目需求分析1)采集埋点日志数据2)采集业务数据库中数据3)数据仓库的搭建(用户行为数仓、业务数仓)4)分析统计业务指标5)对结果进行可视化展示02.2 阿里云技术框架阿里云产品简介类比DataHub数据总线Kafka +各种服务接口MaxCompute大数据计算框架Hadoop+Hive+调度器DataWorks可视化MaxCompute的开发管理平台目前没有RDS关系型数据库MySqlQuickBI可视化数据展示工具Tableau、Echarts、KibanaECS弹性服务器Linux服务器
2.2.1 技术选型 基于阿里云搭建数据仓库(离线) 2.2.2 系统数据流程设计 阿里云大学 & 尚硅谷 联合出品 - 3 - 02.2.1 技术选型数据存储:数据计算:数据可视化:开源框架阿里云框架Flume、Kafka、Sqoop 、DataXFlume、DataHub、RDSMySql、Hadoop、HBaseMaxCompute、DataWorksQuickBIHive、Spark、FlinkMaxCompute、DataWorks数据采集传输:Tableau、Echarts、Kibana02.2.2 系统数据流程设计DataHub日志生产服务器ECS(用户行为日志)QuickBI业务系统RDSRDS分析结果Flume采集sourcechannalMaxCompute/DataWorksODS(Operational Data Store)原始数据层DWD(Data Warehouse Detail)明细数据层DWS(Data Warehouse Service)服务数据层ADS (Application Data Store)数据应用层DataHubConnectorDataHubSink
基于阿里云搭建数据仓库(离线) 2.2.3 服务器选型 2.2.4 集群资源规划设计 阿里云大学 & 尚硅谷 联合出品 - 4 - 02.2.3 服务器选型服务器选择物理机还是云主机?1)机器成本考虑:物理机:以128G内存,20核物理CPU,40线程,8THDD和2TSSD硬盘,戴尔品牌单台报价4W出头,需考虑托管服务器费用。一般物理机寿命5年左右。云主机:以阿里云为例,差不多相同配置,每年5W。2)运维成本考虑:物理机:需要有专业的运维人员,平均每月15000元;云主机:很多运维工作都由阿里云完成,运维相对较轻松。28.730.702.2.4 集群规模1)用户行为数据(1)每天日活跃用户100万,每人一天平均100条:100万*100条=10000万条(8)半年内不扩容服务器来算:210g*180天=约37T(7)保存3副本:70g*3=210g(9)预留20%~30%Buf=37T/0.7=53T6)算到这:约8T*7台服务器4)业务数据(2)每条日志1K左右,每天1亿条:100000000/1024/1024=约100G2)DataHub中数据(1)每天约100G数据*副本(2)=200g(2)保存3天*200g=600g(3)预留30%buf=600g/0.7=857g=约1T(3)数仓ODS层采用LZO+parquet存储:100g压缩为10g左右(4)数仓DWD层采用LZO+parquet存储:10g左右(5)数仓DWS层轻度聚合存储(为了快速运算,不压缩):50g左右(6)数仓ADS层数据量很小:忽略不计(1)每天活跃用户100万,每天下单的用户10万,每人每天产生的业务数据10条,每条日志1k左右:10万*10条*1k=1g左右(2)数仓四层存储:1g*3=3g(3)保存3副本:3g*3=9g(4)半年内不扩容服务器来算:9g*180天=约1.6T(5)预留20%~30%Buf=1.6T/0.7=2T5)集群总规模:53T+1T+2T=56T3)Flume中默认缓存的数据比较小:暂时忽略不计
基于阿里云搭建数据仓库(离线) 2.2.5 购买服务器建议 第 3 章 数据生成模块 3.1 埋点数据基本格式 1)公共字段:基本所有安卓手机都包含的字段 2)业务字段:埋点上报的字段,有具体的业务类型 下面就是一个示例,表示业务字段的上传。 { "ap":"xxxxx",//项目数据来源 app pc 阿里云大学 & 尚硅谷 联合出品 - 5 - 28.730.702.2.5 购买服务器建议以日均100G(日志+数据)为例购买服务建议配置年成本备注DataHubmedium目前免费中medium: 5000record/sMaxCompute32CU*7342720.001CU=1cpu+4G内存RDS4核8G10,914.00存放离线统计结果QuickBI高级版(企业)38,207.00年总成本391841.41月均成本32653.420系统数据流程设计DataHub日志生产服务器ECS(用户行为日志)QuickBI业务系统RDSRDS分析结果Flume采集sourcechannalMaxCompute/DataWorksODS(Operational Data Store)原始数据层DWD(Data Warehouse Detail)明细数据层DWS(Data Warehouse Service)服务数据层ADS (Application Data Store)数据应用层DataHubConnectorDataHubSink
基于阿里云搭建数据仓库(离线) "mid": "", // (String) 设备唯一标识 "cm": { //公共字段 "uid": "", // (String) 用户标识 "vc": "1", // (String) versionCode,程序版本号 "vn": "1.0", // (String) versionName,程序版本名 "l": "zh", // (String) language 系统语言 "sr": "", // (String) 渠道号,应用从哪个渠道来的。 "os": "7.1.1", // (String) Android 系统版本 "ar": "CN", // (String) area 区域 "md": "BBB100-1", // (String) model 手机型号 "ba": "blackberry", // (String) brand 手机品牌 "sv": "V2.2.1", // (String) sdkVersion "g": "", // (String) gmail "hw": "1620x1080", // (String) heightXwidth,屏幕宽高 "t": "1506047606608", // (String) 客户端日志产生时的时间 "nw": "WIFI", // (String) 网络模式 "ln": 0, // (double) lng 经度 "la": 0 // (double) lat 纬度 }, "et": [ //事件 { "ett": "1506047605364", //客户端事件产生时间 "en": "display", //事件名称 "kv": { //事件结果,以 key-value 形式自行定义 "goodsid": "236", "action": "1", "extend1": "1", "place": "2", "category": "75" } } ] } 示例日志(服务器时间戳 | 日志): 1540934156385|{ "ap": "gmall", "cm": { "uid": "1234", "vc": "2", "vn": "1.0", "la": "EN", "sr": "", "os": "7.1.1", "ar": "CN", "md": "BBB100-1", "ba": "blackberry", "sv": "V2.2.1", "g": "abc@gmail.com", "hw": "1620x1080", "t": "1506047606608", "nw": "WIFI", "ln": 0 }, "et": [ 阿里云大学 & 尚硅谷 联合出品 - 6 -
基于阿里云搭建数据仓库(离线) { "ett": "1506047605364", //客户端事件产生时间 "en": "display", //事件名称 "kv": { //事件结果,以 key-value 形式自行定义 "goodsid": "236", "action": "1", "extend1": "1", "place": "2", "category": "75" } },{ "ett": "1552352626835", "en": "error", "kv": { "errorBrief": "错误摘要", "errorDetail": "错误详情" } } ] } } 下面是各个埋点日志格式。其中商品点击属于信息流的范畴 3.2 事件日志数据 3.2.1 商品列表页(loading) 事件名称:loading 标签 action 含义 动作:开始加载=1,加载成功=2,加载失败=3 loading_time 加载时长:计算下拉开始到接口返回数据的时间,(开始加载报 0,加载成 loading_way 加载类型:1-读取缓存,2-从接口拉新数据 功或加载失败才上报时间) extend1 extend2 type (加载成功才上报加载类型) 扩展字段 Extend1 扩展字段 Extend2 加载类型:自动加载=1,用户下拽加载=2,底部加载=3(底部条触发点击 底部提示条/点击返回顶部加载) type1 加载失败码:把加载失败状态码报回来(报空为加载成功,没有失败) 阿里云大学 & 尚硅谷 联合出品 - 7 -
基于阿里云搭建数据仓库(离线) 3.2.2 商品曝光(display) 事件标签:display 标签 action goodsid place extend1 category 含义 动作:曝光商品=1,点击商品=2, 商品 ID(服务端下发的 ID) 顺序(第几条商品,第一条为 0,第二条为 1,如此类推) 曝光类型:1 - 首次曝光 2-重复曝光 分类 ID(服务端定义的分类 ID) 3.2.3 商品详情页(newsdetail) 事件标签:newsdetail 标签 entry 含义 页面入口来源:应用首页=1、push=2、详情页相关推荐=3 阿里云大学 & 尚硅谷 联合出品 - 8 -
分享到:
收藏