项目
数仓项目 我们的数仓项目从数据来源来说分为两类,用户行为日志(web端,微信小程序,APP,前端页面埋点)和业务数据库,从技术架构上说,分为ods,dwd,dws,ads层. (1) ODS层是一个数据采集汇聚层,操作的是最原始的数据,主要的任务是:用flume采集第三方日志,和用sqoop进行业务数据库的抽取,要与原始的数据保持一致,采集过来的数据以json格式存储,一般存储的周期为三个月. (2) DWD层是一个明细层,对ods层的原始数据进行预处理,做ETL处理后的扁平化明细数据,主要的工作是对数据进行清洗过滤: 去除json数据体中的废弃字段(前端开发人员在埋点设计方案变更后遗留的无用字段)2. 过滤掉json格式不正确的脏数据3. 过滤掉日志中account及deviceid全为空的记录(如果是wx日志,过滤account+openid)4. 过滤掉日志中缺少关键字段(properties(事件属性)/eventid(事件id)/sessionid(会话id)的记录!5. 过滤掉日志中不符合时间段的记录(由于app上报日志可能的延迟,有数据延迟到达)6. 对于web端日志,过滤爬虫请求数据(通过useragent(浏览器标识)标识来分析)7. session分割,如果两个时间之间的间隔距离大于30分钟,就切割成两个会话.8. json数据扁平化