加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

从摸鱼学徒进阶摸鲸校尉

发布时间:2021-04-11 17:57:25 所属栏目:传媒 来源:互联网
导读:处理之后,每个uid都被打上了类别标记。然后我们就可以根据标记判断用户最终所属的群组,用这种方法即使分组数量随着属性数量指数增加,但是我们的处理数据的复杂度随着属性数量增加线性增加。提高了效率,优化了逻辑。 我把它叫做量子叠加分组法,原因在于

处理之后,每个uid都被打上了类别标记。然后我们就可以根据标记判断用户最终所属的群组,用这种方法即使分组数量随着属性数量指数增加,但是我们的处理数据的复杂度随着属性数量增加线性增加。提高了效率,优化了逻辑。

我把它叫做量子叠加分组法,原因在于

一个量子系统可以处于不同量子态的叠加态上,当去观察它的时候,才会从多种状态坍缩到一种确定的状态

对比我们的分组模型

一个用户可能同时属于n个不同的组,当我们去sum他们并观察的时候,才能唯一确定他所在的分组

关联

什么?sql的关联表只认join?那你就是个outer了

接下来我来说一下union all怎么关联,以及union all关联的好处

假如我们是一个购物app,需要建立一张用户行为的宽表记录用户的核心行为。用户标识记作uid,商品唯一标识记作id,用户行为日志表为action,用户行为主要有三种,一,查看商品,标记detail;二,加入购物车,标记cart;三,购买,标记buy。我们需要计算的是一个uid每天三种行为的次数,具体如下:

uid detail_amunt cart_amount buy_amount

按照常规的方法,有的同学可能是这么算的里有个默认的逻辑是,用户的加入购物车以及购买行为一定要先查看,否则无查看的加入购物车行为不能被计算在内。那么难度又来了,假如加入购物车它就是不需要查看呢?

有些同学是这么处理的,用今天活跃的用户作为主表再去关联后面三个行为的表就解决了

这样自然可以,这样计算需要的资源较多,逻辑并不清晰,而且把活跃且以上三个行为一个都没有的用户计算进来了。

下面我来推荐一个方式,可以一次性解决上述所有问题

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读