目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

大数据全系列 教程

1869个小节阅读:467.9k

收藏
全部开发者教程

408考研

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(220)
赞(0)

ETL数据清洗思路

  1. 首先判断是否传递参数,没有参数提示:请输入数据日期,格式例如:年月日(20301010)

  2. 判断本地运行还是集群运行,分别构建不同参数的SparkSession对象

  3. 指定SparkSQL使用的Hive的库baizhan_music

  4. 获取微信全量用户信息TO_YCAK_USR_WX_D ,返回DataFrame对象usrWx

    REG_CHNL固定值1 -- 1-微信渠道,2-支付宝渠道,3-QQ渠道,4-APP渠道

    WX_ID AS REF_UID, --微信账号

    substring(REG_TM,1,8) AS REG_DT, --注册日期

    substring(REG_TM,9,6) AS REG_TM, --注册时间

    "2" AS USR_TYPE, --用户类型 1-企业 2-个人(不存在该列,指定固定值)

    NULL AS IS_CERT, --实名认证 NULL AS IS_STDNT --是否是学生

  5. 获取支付宝用户全量信息TO_YCAK_USR_ALI_D,返回DataFrame对象usrAli

    REG_CHNL固定值2 -- 1-微信渠道,2-支付宝渠道,3-QQ渠道,4-APP渠道

    ALY_ID AS REF_UID, --支付宝账号

    substring(REG_TM,1,8) AS REG_DT, --注册日期 substring(REG_TM,9,6) AS REG_TM, --注册时间 NVL(USR_TYPE,"2") AS USR_TYPE, --用户类型 1-企业 2-个人

  6. 获取QQ 用户全量信息TO_YCAK_USR_QQ_D,返回DataFrame对象usrQQ

    REG_CHNL固定值3 -- 1-微信渠道,2-支付宝渠道,3-QQ渠道,4-APP渠道

    QQID AS REF_UID, --QQ账号

    substring(REG_TM,1,8) AS REG_DT, --注册日期 substring(REG_TM,9,6) AS REG_TM, --注册时间

    "2" AS USR_TYPE, --用户类型 1-企业 2-个人(不存在该列,指定固定值)

    NULL AS IS_CERT, --实名认证 NULL AS IS_STDNT --是否是学生

  7. 获取APP用户全量信息 TO_YCAK_USR_APP_D,返回DataFrame对象usrApp

    "4" AS REG_CHNL, -- 1-微信渠道,2-支付宝渠道,3-QQ渠道,4-APP渠道 APP_ID AS REF_UID, --APP账号 NULL AS LOG_MDE, --注册登录方式 substring(REG_TM,1,8) AS REG_DT, --注册日期 substring(REG_TM,9,6) AS REG_TM, --注册时间 0 AS SCORE, --累计积分 "2" AS USR_TYPE, --用户类型 1-企业 2-个人(不存在该列,指定固定值) NULL AS IS_CERT, --实名认证 NULL AS IS_STDNT --是否是学生

  8. 将以上四个DataFrame对象取并集,获取各个平台所有的用户信息

  9. TO_YCAK_USR_LOGIN_D用户登录数据增量表 获取指定日期内登录的用户UID,并对UID去重,然后与所有用户信息关联获取当日用户详细信息,注册临时视图TEMP_USR_ACTV

  10. 将以上当日计算得到的活跃用户信息保存至 TW_USR_BASEINFO_D 日增量表中

  11. 获取7天之前的日期

  12. 获取7日活跃用户信息 保存至 DM 层,保存到MySQL的songresult库下的 user_7days_active

    使用case when语句将REG_CHNL数值做如下转换

    1->微信,2->支付宝,3->QQ,4->APP,其它->未知

    用case when语句将GDR数值做如下转换:

    1->男 2->女 其它->不明

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2