数据仓库项目笔记3

知识点:

spark DSL风格:
表示column方式: $“field” 'field col(“field”) dataframe(“field”)
每遇到select 方法生成一张新的表,后续方法 相当于子查询
agg 聚合函数 同时聚合多个字段 参数用map表示 字段->函数名
where 条件 score > 80 把score类型转为int 比较
seq:* 返回 Any*类型
丢弃一列: df.drop(“filed”)
增加一列 先df.map 让返回Row(seq:
*) 增加一列 然后df.schema获取schema.add(“filed”, DataTypes) spark.createDataFrame获取新的frame
Atlas 工具: 元数据开发系统, 数据治理 搜索字段 查看血缘关系:字段从哪些表中联合生成

项目需求 :

1 将清洗后的数据导入hive ODS层
创建外部表创建分区parquet存储
CREATE EXTERNAL TABLEpartitioned BY (dt String)stored AS parquet
删除表不删数据对数据分开存储和查询提高效率)snappy压缩省空间 列式存储 查询快
2 ODS层-> DWD 提取明细 需要的字段和数据(比如流量主题: 需要用户uid 和会话sessionid 和pg_view事件和各种维度来为统计流量做准备)

套路:

创建表写sql提炼数据
create external table dtlinsert into table dtl partition(dt=‘dt’) select
分主题 补全信息 和转换插入到不同分区 会生成table中声明的格式文件 无insert 只有select则打印 控制台

举例: 将贴源层的所有用户标识的字段提炼为一个字段, 提炼业务需求的所需要的字段
知识点:coalesce返回第一个不为null的字段值
if(flag, 1, 2) flag true 返回1 false 返回2

3 DWD->DWS 汇聚层(得到分组字段(可分析不同的主题(流量主题:pv uv 时长))和维度)

套路:

创建表写分组 sql提炼数据
create external table dwsinsert into table dws partition(dt=‘dt’) select group by

3.1 DWS->DWS
DWS层可以更一步提炼比如 uid sessionid 分组之后获取到pv总数 每一条代表访问次数 提炼到以uid分组 获取每个用户pv总数 和 访问总数 每一条代表uv 和每个维度字段

4 DWS->ADS 数据应用层

没有group by 全部聚合

事件含义
pv点击次数
访问次数uid session分组 次数
uvuid分组 次数
平均每次访问时长session访问总时长/访问次数
人均访问次数访问次数/uv
人均访问深度pv/uv
回头客占比访问次数大于1的/uv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值