热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[数仓]CLL数仓(需要看一下书)

一、本项目用了哪些技术?1、用sqoop将mysql的数据导入到hdfs中。日志同步策略:同步的意义:让数仓中的数据与业务表的数据保

一、本项目用了哪些技术?


1、用sqoop将mysql的数据导入到hdfs中。


日志同步策略:

同步的意义:让数仓中的数据与业务表的数据保持一致。

1)全量同步

每日同步,就是每天存一份昨天完整的数据,将其存放在昨天的日期为分区名的分区表中。

适用于表数据量不大,且每天既有新数据插入,也有旧数据修改的场景。

如收藏表:

create table ods_favor_info(
id string, --id
user_id string, --用户id
is_cancel string, --是否取消
create_table string, --收藏时间
cancel_time string, --取消时间
)
partitioned by(dt string)
;

2)增量同步

每日增量,就是第一天存所有的存历史数据,然后每天存储一份昨天的增加数据。

使用于表数据量大且每天只会有新数据插入的场景。

如:评论表

create table ods.ods_comment_info(id string, --评论iduser_id string,--用户idlineid string,--线路idappraise string,--评论内容create_time string --评论时间
)
partitioned by(dt string)
;

3)新增及变化同步

昨天的新增及变化,就是存储时间和修改时间都是昨天的数据。适用于表的数据量比较大,并且每天既有新增,又有变化。

4)特殊情况


2、用flume将用户行为日志导入到hdfs中。

其中写了判断json串是否完整,解决零点漂移问题的拦截器。

数据:在app中搜索公交站、浏览、点击、收藏等,产生的用户行为日志。

用Nginx负载均衡,把数据均匀的发送到日志服务器中。

双层flume:第一层taildir Source  kafka Channel第二层kafka channel hdfs sink

 


推荐阅读
author-avatar
justnicetwo
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有