摘要:
为什么需要用户行为宽表?把每个用户单日的行为聚合起来组成一张多列宽表,以便之后关联用户维度信息后,进行不同角度的统计分析。 数据来源:DWD层相关的业务数据表 创建用户行为宽表: 这张宽表整合了下单、支付和评论3种行为。 drop table if exists dws_user_action; c 阅读全文
摘要:
业务数仓的DWD层一般有两个典型操作: ①因为是DWD层,所以要进行数据清洗。 ②因为数据来源于web项目的数据库,标的设计遵循三范式,因此在数仓里需要进行降维,以减少join次数。 在示例的8张表中,订单表,订单详情表,用户表,支付流水表字段与ODS层一致。对商品表的分类进行降维。增加二级分类,一 阅读全文
摘要:
ODS层数据不做任何处理,完全仿照业务数据库中的表字段,一模一样的创建ODS层对应表。 8张表建表语句: ①用sqoop把导入到HDFS的时候,加了参数--fields-terminated-by "\t",因此这里ODS层建表的时候也注意相同的分隔符。 ②不管是全量导入还是其他形式,都使用分区表, 阅读全文
摘要:
表的分类 实体表:一般是指一个现实存在的业务对象,比如用户,商品,商家,销售员等等。 维度表:一般是指对应一些业务状态,编号的解释表。也可以称之为码表。比如地区表,订单状态,支付方式,审批状态,商品分类等等。 事务型事实表:一般指随着业务发生不断产生的数据。特点是一旦发生不会再变化。一般比如,交易流 阅读全文
摘要:
依赖数据:使用日活明细表dws_uv_detail_day作为DWS层数据 建表语句: drop table if exists ads_continuity_uv_count; create external table ads_continuity_uv_count( `dt` string C 阅读全文
摘要:
最近3周连续活跃的用户:通常是周一对前3周的数据做统计,该数据一周计算一次。 本例需求:计算上上周、上周、本周连续3周的活跃用户。 依赖数据:dws_uv_detail_wk(每周活跃设备明细表)。 建表语句: drop table if exists ads_continuity_wk_count 阅读全文
摘要:
需求:求出最近7天未登陆的流失用户数。 依赖数据:dws_uv_detail_day(每日活跃设备明细表) 建表语句: drop table if exists ads_wastage_count; create external table ads_wastage_count( `dt` stri 阅读全文
摘要:
回流用户:上周未启动过应用,本周启动了应用的用户。 实现思路:本周回流=本周活跃-本周新增-上周活跃。 依赖数据:dws_uv_detail_wk(每周活跃设备明细表),dws_new_mid_day(每日新增设备明细表)。 建表语句: drop table if exists ads_back_c 阅读全文
摘要:
沉默用户:用户仅在安装当天(次日)启动一次,后续时间无再启动行为。该指标可以反映新增用户质量和用户与APP的匹配程度。 需求:求只在安装当天启动过,且启动时间在一周前的沉默用户数。 数据来源:用户日活表(每日活跃设备表) 建表语句: drop table if exists ads_slient_c 阅读全文
摘要:
需求:计算前1天,2天,3天的用户留存数量和用户留存率。 用户留存:某段时间内的新增用户,经过一段时间后,仍然使用应用的被认作是留存用户;这部分用户占当时新增用户的比例即是留存率。例如,5月份新增用户200,这200人在6月份启动过应用的有100人,7月份启动过应用的有80人,8月份启动过应用的有5 阅读全文