searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

数据处理

2024-09-25 09:31:57
1
0

客户提了大量正则匹配需求,且这部分需求有共通性,下图是需求的样例,查找符合域名,且匹配上第二部分的用户
image.png

我们对域名是小红书的需求,匹配url中复合有效id的用户,观察需求正则部分,看着是有一定的共通性,查找底层数据观察

下图是原始数据截取前面部分的样例:

image.png

通过观察发现,可以提前通过正则提取关键id字段
regexp_extract(http_url,'([^/]+)([?])')
提取/到?之间的

1040g2sg313cfp0qsg4705n6d5t0lni70onhv92g---截取出来的
1040g0083129e75s0526g5oalqhg0ksb7q8o3jb8---客户提供的

我们可以将31个省份,先根据域名做正则提取id,存放一张表里面,这样可以将客户的需求,从正则变成等值匹配,大大减少开销,提高处理性能,大量的正则匹配效率低下

原先处理10w的正则匹配需要跑一天,变成提取id再等值匹配后,仅耗时3小时,提前交付客户

0条评论
0 / 1000
jie洁杰
4文章数
0粉丝数
jie洁杰
4 文章 | 0 粉丝
jie洁杰
4文章数
0粉丝数
jie洁杰
4 文章 | 0 粉丝
原创

数据处理

2024-09-25 09:31:57
1
0

客户提了大量正则匹配需求,且这部分需求有共通性,下图是需求的样例,查找符合域名,且匹配上第二部分的用户
image.png

我们对域名是小红书的需求,匹配url中复合有效id的用户,观察需求正则部分,看着是有一定的共通性,查找底层数据观察

下图是原始数据截取前面部分的样例:

image.png

通过观察发现,可以提前通过正则提取关键id字段
regexp_extract(http_url,'([^/]+)([?])')
提取/到?之间的

1040g2sg313cfp0qsg4705n6d5t0lni70onhv92g---截取出来的
1040g0083129e75s0526g5oalqhg0ksb7q8o3jb8---客户提供的

我们可以将31个省份,先根据域名做正则提取id,存放一张表里面,这样可以将客户的需求,从正则变成等值匹配,大大减少开销,提高处理性能,大量的正则匹配效率低下

原先处理10w的正则匹配需要跑一天,变成提取id再等值匹配后,仅耗时3小时,提前交付客户

文章来自个人专栏
数据处理
2 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0