【纪念一下】实时用户筛选系统的搭建

 

作者:杨考   微信 : devin_cn_hd_09_16    欢迎讨论问题

在每次收到阅读者添加微信并开始交流讨论,心理是无比的激动。

 

一. 背景介绍:

入职新公司第一周接手日志入库的需求,python工程,边学边开发。终于完成了。第二周腾出人力,开始接手用户筛选系统。

用户筛选系统耗时2周+3天完成

这短短的18天中,也是入职后的第2周的项目经历。时间紧张到让人怀疑人生,但是最终在指定时间交付项目。感谢老基友秦峰的支持。

 

二. 准备工作:

1、熟悉需求,产品需求还没有完全定下来

2、用户维度数据、订单维度数据提取,校验数据准确性

3、熟悉ODPS的操作手册

4、秦峰帮搭建了maven环境、使用bootstrap写了前端页面的框架

5、一边学习java,一边开发

6、瞬间体验多种语言(PHP、JavaScript、java 和 python)

7、感受无比大的压力,谁让咱是架构师,一边沟通需求,一边开始准备数据和项目

 

三. 系统框架:

 

 

四. 前端操作页面:

 

1. 用户筛选系统【用户维度属性】

 

2. 用户筛选系统【订单维度属性】

 

3. 用户仓库

 

4. 用户推荐反馈跟踪

 

五. 甩锅环节

本人是9年通信业人士,中途转入互联网,非全栈工程师,面对这样的作品,也是感谢运营同学和产品同学的谅解,内部系统。很粗糙,非常粗糙。开发时间紧是一方面,前端功底是另一方面 ( :

 

六. 项目重点介绍:

 

系统1中: 准确性 [就地取材,使用PHP处理数据]

数据准确性很重要,不丢数据,数据准确

 

系统2中:实时 [为了对接ODPS,使用java实时向ODPS同步数据]

实时长传数据,要有任务监控,单台单任务运行

 

系统3中:烧脑 [操作界面,后端PHP + 前端js]

有关前端的逻辑组合,伤了不少脑细胞,同时关于RFM的计算,也是最后采用了分段折中,即定时更新分段数值的方法来完成的。

 

系统4中: 实时和费用权衡 [ODPS查询使用java]

ODPS只插入,不能修改数据,一堆冗余数据,每次操作前,都是先过滤出每条记录的最新数据,然后生成中间表,再基于中间表进行查询。这样满足了实时查询的需求。

之后由于每次生成中间表影响查询速度,且每次查询数量比较大,会产生一定的数据费用,这里就采取了每日查询时,先生成一个当日的临时表,后面的查询,不需要实时数据,则可以基于今日的临时表进行查询,如果需要实时数据,先删除当日的临时表,再进行查询。

 

七. 总结:

多余的总结不说了,曾经难忘的经历,留下来的都是满满怀念。

撰写此文,打卡留念。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值