数据同步工具
datax
也有集群模式了,现在性能应该还好。
sqoop
就是调度了map任务
集群加机器了记得要在数据库那边加入白名单
Flume
几十上百台日志服务器的话,直接往hdfs上写也不现实,一般会做两层flume,第二层放个三两台再往hdfs写。
一般会后面布kafka,实时离线都从kafka消费,保证数据统一。
调度系统
Oozie
与hadoop、hive、spark有版本依赖关系,注意jar包冲突
可以时间触发,还可以数据触发
azkaban在报警、失败重启方面比oozie差一些
oozie的封装
也可以写shell命令上传jar包,运行spark任务
数据通道案例
flume-kafka-实时计算 这个玩意能实时?
数据采集与同步
业务数据已经有了,不用太操心;行为数据,埋点、采集策略还是得关注
行为数据埋点设计
方法
pc端一般用cookieid(存在cookie里的一个标识数据)来标识客户,清cookie就没了。
cid是全局唯一的,pc手机pad啥的都算上,uid在表里是可以重复的,就是多屏用户的打通
c1上登录了u1,后面u2也用这个设备了,那这个cid就要变成c2,只要没有新的uid登录进来,再后面是c2登录进来或者没有登录态的就都算到c2的行为,保证行为有归属。
webh5抓浏览信息方便,app抓设备信息方便
推荐服务端采集,前端行为拿不到的话可以js请求后台
打通行为和业务:一般就是通过cust_no关联,完了再去相应的时间去找,很不方便。
==>搞一个类似session_id的东西,在行为数据和业务数据里面都有,这样就好关联了。
案例
需求:
格式:
搞一个pageid,在app搞不到url的时候用的,wifi位置啥的也都带着,如果只有app启动的时候上报一次,那后面变化了就抓不到了。