模型宽表搭建过程中遇到的问题——代码

进入画像部门之后,我前后为模型组同事拼接了20多张模型宽表,每张宽表的标签数量不等。小的在100个字段左右,取数的表二十个左右;大的超过一千个字段,取数的表超过50个。

业务方一般会提供给我们一个详细开的发文档,说明各个标签的英文名,中文备注,数据类型,和取数表,有时也有可能部分标签提供逻辑需要自己开发。

当我们收到开发文档后,千万不要急着去敲代码,不然你会掉进深渊,我们要做一下的工作。

1.检查各个标签在表中是否存在,检查标签的数据是否有值,和值得分布。具体方法,取一个分区,针对字符型标签group by一下看各个值得分布情况,针对数值型可以用percentile_approx检查一下分位数;

2.完成了上一个步骤的检查后,和业务沟通相关的问题:

  • 针对提供的标签和取数表不符的反应给业务,提供正确的信息。最好是自己问下相关标签开发人员打听好了再和业务做确认,因为业务有时候也不是很清楚。

  • 针对标签数据全部空值,或者空值率较高。看是要修复标签,还是丢掉。毕竟空值率较高时,放到模型中,会影响整体效果。

  • 针对异常值,比如年龄写的很大,几百,和业务方确认是否需要做相应的相应的逻辑加工。

3.架构,拆表。为了提供代码的执行效率,便于检查错误,便于修改代码,我们通常的将标签的取数拆分到多个不同的表中,然后再合在一起。

  • 拆表:依据标签信息维度的不同,将所有的标签拆分到不同的表中。比如客户识别信息,客户价值,客户行为等等。标准,尽量一个表的取数表不要超过三十个,标签数量不要超过100个。
  • 确认基表:这个工作是非常重要的,和业务确认好整个宽表将以哪个字段为主键(客户号,手机号),另外要加入后面和其他表关联时候的字段,比如客户号,手机号码,微信open_id,销售系统id,其他外部平台id等。

3.我们要开始拼接宽表了,但是这个时候我们还是不会用subline,或者notpad++去敲代码,这个时候最有用的工具是Excel。

  • 我们在Excel中,一个表的标签的取数表,复制到Excel的另外一页,去重,并取好别名;
  • 通过vlookup()函数,在标签页给各个标签的取数表对应上别名
  • 确认好各个表和基表的关联字段
  • 将以上内容在复制到文本编辑器中,快速的完成建表语句和拼接宽表的代码。
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值