![](https://img-blog.csdnimg.cn/8a5a84a33bc246adb825fa0786a6b918.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
bigdatav014——PB离线数仓
BigDataPB级数仓
yanqi_vip
strove with none, for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
展开
-
CC00001.pbpositions——|Hadoop&PB级数仓.V01|——|PB数仓.v01|数据仓库|项目背景|
一、项目背景### --- 项目背景~~~ 人类正从IT时代走向DT(Data Technology)时代。~~~ 在DT时代,人们比以往任何时候更能收集到更丰富的数据。~~~ IDC 的报告显示:预计到2020年,全球数据总量将超过40ZB(相当于40 万亿GB),~~~ 这一数据量是2011年的22倍。正在呈“爆炸式”增长的数据,其潜在的...原创 2022-04-10 14:08:00 · 84 阅读 · 0 评论 -
CC00002.pbpositions——|Hadoop&PB级数仓.V02|——|PB数仓.v02|数仓概念|数据集市|
一、数据仓库### --- [数仓理论]~~~ [数据仓库:数仓概念]~~~ [数据仓库:数仓特征]~~~ [数据仓库与数据库的区别]~~~ [数据仓库:数据集市]### --- 什么是数据仓库~~~ 1988年,为解决全企业集成问题,IBM公司第一次提出了信息仓库(InformationWarehouse)的概念。~~~...原创 2022-04-10 14:09:00 · 81 阅读 · 0 评论 -
CC00003.pbpositions——|Hadoop&PB级数仓.V03|——|PB数仓.v03|数仓理论|建模方法|
一、数据仓库建模方法### --- 数据仓库建模方法~~~ # 数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。~~~ # 有了适合业务和基础数据存储环境的模型,能获得以下好处:~~~ 性能:良好的数据模型能帮助我们快速查询所需要的数据,减少数据的I/O吞吐~~~ 成本:良好的数据模型能极大地减少不必要的数据冗余...原创 2022-04-10 14:09:00 · 77 阅读 · 0 评论 -
CC00004.pbpositions——|Hadoop&PB级数仓.V04|——|PB数仓.v04|数仓理论|数仓分层|
一、数据仓库分层### --- 数据仓库分层~~~ 数据仓库更多代表的是一种对数据的管理和使用的方式,~~~ 它是一整套包括了数据建模、ETL(数据抽取、转换、加载)、~~~ 作用调度等在内的完整的理论体系流程。数据仓库在构建过程中通常都需要进行分层处理。~~~ 业务不同,分层的技术处理手段也不同。~~~ 分层的主要原因是在管理数据...原创 2022-04-10 14:10:00 · 98 阅读 · 0 评论 -
CC00005.pbpositions——|Hadoop&PB级数仓.V05|——|PB数仓.v05|数仓模型|元数据|
一、数据仓库模型### --- 事实表与维度表~~~ 在数据仓库中,保存度量值的详细值或事实的表称为事实表。~~~ 事实数据表通常包含大量的行。~~~ 事实数据表的主要特点是包含数字数据(事实),并且这些数字信息可以汇总,~~~ 以提供有关单位作为历史的数据。事实表的粒度决定了数据仓库中数据的详细程度。~~~ 常见事实表:订单事实表...原创 2022-04-10 14:12:00 · 64 阅读 · 0 评论 -
CC00006.pbpositions——|Hadoop&PB级数仓.V06|——|PB数仓.v06|数仓设计|需求分析|数仓埋点|数据指标体系|
一、电商离线数仓设计### --- 需求分析~~~ 近年来,中国的电子商务快速发展,交易额连创新高,~~~ 电子商务在各领域的应用不断拓展和深化、~~~ 相关服务业蓬勃发展、支撑体系不断健全完善、创新的动力和能力 不断增强。~~~ 电子商务正在与实体经济深度融合,进入规模性发展阶段,对经济社会生活的影响不断增大,~~~ 正成为我国经...原创 2022-04-10 14:12:00 · 93 阅读 · 0 评论 -
CC00007.pbpositions——|Hadoop&PB级数仓.V07|——|PB数仓.v07|数仓设计|技术|逻辑|开发|数仓命名规范|
一、总体架构设计:技术方案选型### --- 技术方案选型~~~ 框架选型~~~ 软件选型~~~ 服务器选型~~~ 集群规模的估算### --- 框架选型~~~ Apache / 第三方发行版(CDH / HDP / Fusion Insight)~~~ # Apache社区版本优点:~~~ 完全开源免费...原创 2022-04-10 14:13:00 · 99 阅读 · 0 评论 -
CC00008.pbpositions——|BigDataEnd|
NO:Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ...原创 2022-04-10 14:13:00 · 54 阅读 · 0 评论 -
CC00009.pbpositions——|Hadoop&PB级数仓.V01|——|PB数仓.v01|会员活跃度分析|需求说明|日志数据采集|
一、电商分析之--会员活跃度### --- 需求分析~~~ 会员数据是后期营销的很重要的数据。网店会专门针对会员进行一系列营销活动。~~~ 电商会员一般门槛较低,注册网站即可加入。~~~ 有些电商平台的高级会员具有时效性,需要购买VIP会员卡或一年内消费额达到多少才能成为高级会员。~~~ # 计算指标:~~~ 新增会员:每日新...原创 2022-04-10 14:14:00 · 73 阅读 · 0 评论 -
CC00010.pbpositions——|Hadoop&PB级数仓.V02|——|PB数仓.v02|会员活跃度分析|taildir/source|
一、日志数据采集### --- 原始日志数据(一条启动日志)2020-07-3014: 18: 47.339[ main]INFOcom.yanqi.ecommerce.AppStart-{ "app_active": { "name": "app_active", "json": { "entry": "1", "action"...原创 2022-04-10 14:15:00 · 82 阅读 · 0 评论 -
CC00011.pbpositions——|Hadoop&PB级数仓.V03|——|PB数仓.v03|会员活跃度分析|hdfs sink|
一、日志采集配置:hdfs sink配置### --- 日志采集配置:hdfs sink配置a1.sinks.k1.type = hdfsa1.sinks.k1.hdfs.path = /user/data/logs/start/%Y-%m-%d/a1.sinks.k1.hdfs.filePrefix = startlog.a1.sinks.k1.hdfs.fileType...原创 2022-04-10 14:15:00 · 71 阅读 · 0 评论 -
CC00012.pbpositions——|Hadoop&PB级数仓.V04|——|PB数仓.v04|会员活跃度分析|agent配置&Flume配置|
一、Agent的配置### --- 配置Flume.agent配置[root@hadoop02 ~]# vim /data/yanqidw/conf/flume-log2hdfs1.confa1.sources = r1a1.sinks = k1a1.channels = c1# taildir sourcea1.sources.r1.type = TAILDIRa...原创 2022-04-10 14:16:00 · 85 阅读 · 0 评论 -
CC00013.pbpositions——|Hadoop&PB级数仓.V05|——|PB数仓.v05|会员活跃度分析|自定义拦截器实现&测试|
一、自定义拦截器### --- 自定义拦截器~~~ 前面 Flume Agent 的配置使用了本地时间,可能导致数据存放的路径不正确。~~~ 要解决以上问题需要使用自定义拦截器。~~~ agent用于测试自定义拦截器。netcat source =>logger sink### --- 创建自定义拦截器Flume-agent参数[roo...原创 2022-04-10 14:17:00 · 109 阅读 · 0 评论 -
CC00014.pbpositions——|Hadoop&PB级数仓.V06|——|PB数仓.v06|会员活跃度分析|启动自定义拦截器采集日志|
一、采集启动日志(使用自定义拦截器)### --- 定义配置文件 [root@hadoop02 ~]# vim /data/yanqidw/conf/flume-log2hdfs2.confa1.sources = r1a1.sinks = k1a1.channels = c1# taildir sourcea1.sources.r1.type = TAILDIR...原创 2022-04-10 14:18:00 · 147 阅读 · 0 评论 -
CC00015.pbpositions——|Hadoop&PB级数仓.V07|——|PB数仓.v07|会员活跃度分析|自定义拦截器实现&测试|
一、采集启动日志和事件日志### --- 采集启动日志和事件日志~~~ 本系统中要采集两种日志:启动日志、事件日志,不同的日志放置在不同的目录下。~~~ 要想一次拿到全部日志需要监控多个目录。### --- 总体思路~~~ taildir监控多个目录~~~ 修改自定义拦截器...原创 2022-04-10 14:21:00 · 105 阅读 · 0 评论 -
CC00017.pbpositions——|Hadoop&PB级数仓.V01|——|PB数仓.v01|会员活跃度分析|数据处理&ODS建表&加载数据|
一、ODS建表和数据加载### --- ODS建表和数据加载~~~ ODS层的数据与源数据的格式基本相同。二、创建ODS层表:### --- 创建ODS层表[root@hadoop02 ~]# hive~~~ # 建表语句use ODS;drop table if exist...原创 2022-04-10 14:28:00 · 121 阅读 · 0 评论 -
CC00018.pbpositions——|Hadoop&PB级数仓.V02|——|PB数仓.v02|会员活跃度分析|json数据处理&使用内建函数处理|
一、json数据处理### --- json数据处理~~~ 数据文件中每行必须是一个完整的 json 串,一个 json串 不能跨越多行。~~~ # Hive 处理json数据总体来说有三个办法:~~~ 使用内建的函数get_json_object、json_tuple~~~ 使用自定义的UDF~~~ 第三方的SerDe###...原创 2022-04-10 14:29:00 · 77 阅读 · 0 评论 -
CC00019.pbpositions——|Hadoop&PB级数仓.V03|——|PB数仓.v03|会员活跃度分析|json数据处理&使用UDF处理json串|
一、使用UDF处理### --- 自定义UDF处理json串中的数组。自定义UDF函数:~~~ 输入:json串、数组的key~~~ 输出:字符串数组二、创建一个maven项目### --- 创建一个maven项目:cn.yanqi.dw### --- 添加pom.xml依赖 <...原创 2022-04-10 14:30:00 · 128 阅读 · 0 评论 -
CC00020.pbpositions——|Hadoop&PB级数仓.V04|——|PB数仓.v04|会员活跃度分析|json数据处理&SerDe处理json数据|
一、使用SerDe处理### --- 使用SerDe处理~~~ 序列化是对象转换为字节序列的过程;反序列化是字节序列恢复为对象的过程;~~~ # 对象的序列化主要有两种用途:~~~ 对象的持久化,即把对象转换成字节序列后保存到文件中~~~ 对象数据的网络传送~~~ SerDe 是Serializer 和 Deserializer...原创 2022-04-10 14:31:00 · 68 阅读 · 0 评论 -
CC00021.pbpositions——|Hadoop&PB级数仓.V05|——|PB数仓.v05|会员活跃度分析|DWD建表&加载数据|
一、DWD层建表和数据加载### --- DWD层建表和数据加载~~~ 主要任务:ODS(包含json串) => DWD~~~ json数据解析,丢弃无用数据(数据清洗),保留有效信息,并将数据展开,形成每日启动明细表。2021-09-28 18:19:32.966 [main] INFO com.yanqi.ecommerce.AppStart -...原创 2022-04-10 14:32:00 · 222 阅读 · 0 评论 -
CC00022.pbpositions——|Hadoop&PB级数仓.V06|——|PB数仓.v06|会员活跃度分析|活跃会员&DWS建表&DWS加载数据|
一、活跃会员### --- 活跃会员~~~ 活跃会员:打开应用的会员即为活跃会员;~~~ 新增会员:第一次使用应用的用户,定义为新增会员;~~~ 留存会员:某段时间的新增会员,经过一段时间后,仍继续使用应用认为是留存会员;~~~ 活跃会员指标需求:每日、每周、每月的活跃会员数~~~ DWD:会员的每日启动信息明细(会员都是活跃会员;...原创 2022-04-10 14:32:00 · 112 阅读 · 0 评论 -
CC00023.pbpositions——|Hadoop&PB级数仓.V07|——|PB数仓.v07|会员活跃度分析|活跃会员&ADS建表&ADS加载数据|ODS_DWS|
一、创建ADS层表### --- 计算当天、当周、当月活跃会员数量~~~ # 语法use ads;drop table if exists ads.ads_member_active_count;create table ads.ads_member_active_count(`day_count` int COMMENT '当日会员数量',`week_coun...原创 2022-04-10 14:33:00 · 73 阅读 · 0 评论 -
CC00024.pbpositions——|Hadoop&PB级数仓.V08|——|PB数仓.v08|会员活跃度分析|新增会员&新增会员计算思路|
一、新增会员### --- 新增会员~~~ 留存会员:某段时间的新增会员,经过一段时间后,仍继续使用应用认为是留存会员;~~~ 新增会员:第一次使用应用的用户,定义为新增会员;卸载再次安装的设备,不会被算作一次新增。~~~ 新增会员先计算 => 计算会员留存### --- 案例分析:~~~ # 需求:每日新增会员数~~~ ...原创 2022-04-10 14:33:00 · 145 阅读 · 0 评论 -
CC00025.pbpositions——|Hadoop&PB级数仓.V09|——|PB数仓.v09|会员活跃度分析|新增会员&DWS层计算&ADS层计算|
一、新增会员DWS层计算### --- 创建DWS层表~~~ # 语法use dws;drop table if exists dws.dws_member_add_day;create table dws.dws_member_add_day(`device_id` string,`uid` string,`app_v` string,`os_type`...原创 2022-04-10 14:34:00 · 85 阅读 · 0 评论 -
CC00026.pbpositions——|Hadoop&PB级数仓.V10|——|PB数仓.v10|会员活跃度分析|留存会员&DWS层计算&加载&ADS层计算&加载|
一、留存会员### --- 留存会员~~~ 留存会员与留存率:某段时间的新增会员,经过一段时间后,仍继续使用应用认为是~~~ 留存会员;这部分会员占当时新增会员的比例为留存率。~~~ 需求:1日、2日、3日的会员留存数和会员留存率~~~ 10W新会员:dws_member_add_day(dt=08-01)明细~~~ 3W:特点 在...原创 2022-04-10 14:36:00 · 95 阅读 · 0 评论 -
CC00027.pbpositions——|Hadoop&PB级数仓.V11|——|PB数仓.v11|会员活跃度分析|Datax概念安装|入门案例|
一、DataX概述及安装### --- DataX概述~~~ DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,~~~ 实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、~~~ MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效...原创 2022-04-10 14:36:00 · 80 阅读 · 0 评论 -
CC00028.pbpositions——|Hadoop&PB级数仓.V12|——|PB数仓.v12|会员活跃度分析|Datax数据导出&hdfsreader => my|
一、Datax 数据导出### --- DataX数据导出~~~ 官方配置地址:https://github.com/alibaba/DataX/blob/master/introduction.md)二、DataX从Hive下导入表到mysql下### --- 在mysql下建表,准备导出数据的数据库~~~ ADS有4张表需要从数...原创 2022-04-10 14:37:00 · 95 阅读 · 0 评论 -
CC00029.pbpositions——|Hadoop&PB级数仓.V13|——|PB数仓.v13|会员活跃度分析|Hive on MR&活跃&新增&留存会员|数据加载|
一、高仿日启动数据测试:### --- 高防日启动数据测试~~~ 数据采集 => ODS => DWD => DWS => ADS> MySQL~~~ 活跃会员、新增会员、会员留存~~~ DAU: Daily Active User(日活跃用户)~~~ MAU: monthly active user(月活跃用户...原创 2022-04-10 14:38:00 · 103 阅读 · 0 评论 -
CC00030.pbpositions——|Hadoop&PB级数仓.V14|——|PB数仓.v14|会员活跃度分析|Hive on Tez安装|
一、Hive on Tez概述### --- Hive on Tez~~~ Hortonworks在2014年左右发布了Stinger Initiative,~~~ 并进行社区分享,为的是让Hive支持更多SQL,并实现更好的性能。~~~ 让Hive的查询功能更强大。增加类似OVER子句的分析功能,支持WHERE子查询,~~~ 以及调整Hiv...原创 2022-04-10 14:39:00 · 173 阅读 · 0 评论 -
CC00031.pbpositions——|Hadoop&PB级数仓.V15|——|PB数仓.v15|会员活跃度分析|Hive on Tez&活跃&新增&留存|
一、计算2020-07-22这一天的会员活跃度### --- 计算2020-07-22这一天的会员活跃度~~~ Hive on Tez测试数据说明:07-22(新增5000条) / 0723(新增4000条):18999条左右,执行脚本### --- Hive on Tez语法SCRIPT_HOME=/data/yanqidw/script/member_acti...原创 2022-04-10 14:40:00 · 84 阅读 · 0 评论 -
CC00032.pbpositions——|Hadoop&PB级数仓.V16|——|PB数仓.v16|会员活跃度分析|Hive on Tez&会员留存率计算|
一、会员留存率的计算:会员留存率计算概述### --- 修改后的代码(计算留存率):select t1.*, t2.* from ads.ads_member_retention_count t1 joinads.ads_new_member_cnt t2 ont1.add_date=t2.dtwhere t1.dt='2020-07-23';###...原创 2022-04-10 14:40:00 · 106 阅读 · 0 评论 -
CC00034.pbpositions——|Hadoop&PB级数仓.V01|——|PB数仓.v01|广告分析|需求分析&事件日志数据样例|
一、电商分析之——广告业务### --- 电商分析之——广告业务~~~ 互联网平台通行的商业模式是利用免费的基础服务吸引凝聚大量用户,~~~ 并利用这些用户资源开展广告或其他增值业务实现盈利从而反哺支撑免费服务的生存和发展。~~~ 广告收入不仅成为互联网平台的重要收入之一,更决定了互联网平台的发展程度。~~~ 电商平台本身就汇聚了海量的商品、...原创 2022-04-10 14:42:00 · 75 阅读 · 0 评论 -
CC00035.pbpositions——|Hadoop&PB级数仓.V02|——|PB数仓.v02|广告分析|事件日志采集&ODS层数据处理|
一、广告分析——事件日志采集### --- 启动Flume Agent(适当的修改参数,128M滚动一次)~~~ # 启动flume[root@hadoop02 ~]# flume-ng agent --conf /opt/yanqi/servers/flume-1.9.0/conf \--conf-file /data/yanqidw/conf/flume-log2...原创 2022-04-10 14:42:00 · 66 阅读 · 0 评论 -
CC00036.pbpositions——|Hadoop&PB级数仓.V03|——|PB数仓.v03|广告分析|DWD层数据处理|
一、DWD层建表和数据加载### --- DWD层建表和数据加载~~~ ODS:分区;事件的主要信息在json串中(json数组),公共信息在另外一个json串中;~~~ ODS => 解析json,从json串中,提取jsonArray数据;将公共信息从json串中解析出来 =>### --- 所有事件的明细所有事件的明细,包括:~~~ ...原创 2022-04-10 14:43:00 · 2193 阅读 · 0 评论 -
CC00037.pbpositions——|Hadoop&PB级数仓.V04|——|PB数仓.v04|广告分析|点击次数计算|
一、广告点击次数分析### --- 需求分析~~~ # 广告:ad~~~ action: 用户行为;0 曝光;1 曝光后点击;2 购买~~~ duration: 停留时长~~~ shop_id: 商家id~~~ event_type: "ad"~~~ ad_type: ...原创 2022-04-10 14:43:00 · 82 阅读 · 0 评论 -
CC00038.pbpositions——|Hadoop&PB级数仓.V05|——|PB数仓.v05|广告分析|漏斗分析|
一、漏斗分析(点击率购买率)### --- 需求分析~~~ # 分时统计:~~~ 点击率 = 点击次数 / 曝光次数~~~ 购买率 = 购买次数 / 点击次数二、创建ADS层表### --- 创建ADS层表~~~ # 语法:创建ADS层表drop table if exists ...原创 2022-04-10 14:44:00 · 64 阅读 · 0 评论 -
CC00039.pbpositions——|Hadoop&PB级数仓.V06|——|PB数仓.v06|广告分析|脚本调用顺序|
一、广告效果分析### --- 需求分析~~~ 活动曝光效果评估:~~~ 行为(曝光、点击、购买)、时间段、广告位、商品,统计对应的次数~~~ 时间段、广告位、商品,曝光次数最多的前100个### --- 实验说明~~~ 小结:分析简单,没有DWS层~~~ Flume、json解析在会员分析讲解二、创建ADS层表...原创 2022-04-10 14:44:00 · 68 阅读 · 0 评论 -
CC00040.pbpositions——|Hadoop&PB级数仓.V07|——|PB数仓.v08|ADS层数据导出|
一、ADS层数据导出(DataX)### --- 步骤:~~~ 在MySQL创建对应的表~~~ 创建配置文件(json)~~~ 执行命令,使用json配置文件;测试~~~ 编写执行脚本(shell)~~~ shell脚本的测试二、在mysql建表### --- 语法:MySQL...原创 2022-04-10 14:45:00 · 90 阅读 · 0 评论 -
CC00041.pbpositions——|Hadoop&PB级数仓.V08|——|PB数仓.v08|高防日志数据测试|
一、高仿日志数据测试### --- 数据采集~~~ 1000W左右日活用户~~~ 按 30条日志 / 人天,合计3亿条事件日志~~~ 每条日志 650字节 左右~~~ 总数据量大概在180G~~~ 采集数据时间约2.5小时二、事件日志采集### --...原创 2022-04-10 14:46:00 · 69 阅读 · 0 评论 -
CC00043.pbpositions——|Hadoop&PB级数仓.V01|——|PB数仓.v01|核心交易分析|业务需求&业务数据库|
一、电商分析之--核心交易### --- 业务需求~~~ 本主题是电商系统业务中最关键的业务,电商的运营活动都是围绕这个主题展开。~~~ 选取的指标包括:订单数、商品数、支付金额。对这些指标按销售区域、商品类型进行分析。二、业务数据库表结构三、实验案例操作表### --- 业务数据库:数据源...原创 2022-04-10 14:47:00 · 75 阅读 · 0 评论