dex0423 的博客

记录工作学习的点点滴滴。

用户画像:ETL 数据流向

数据流向 从项目全貌来说,首先是收集日志和属性数据,从线上业务库抽取业务数据、或从日志服务器抽取日志数据,把抽取的数据放到数据仓库里。 然后基于收仓的数据打标签、建模和行为主题的宽表建立。 数据仓库层面一般分多层,比如ods做基础标签,dws层做直接推送到服务层的数据。 业务数据库接入的数据、爬虫外部抓取的数据都放在数仓的ods层。 基于ods层数据围绕应用场景进...

数据结构:布隆过滤器的工作原理

1. 布隆过滤产生的背景 布隆过滤在位图的基础上产生 对于数字的话,位图是可以处理的,因为他们是不存在冲突的,每一个数字对于一个唯一的哈希地址; 但是对于字符串,位图是没有办法处理的,因为字符串存在哈希冲突。 因此,我们只能通过我们将一个元素经过多个散列函数映射到多个位上来降低误判的概率,布隆过滤器正是基于这个特点应用而生的。 ...

数据结构:哈希表的特性与缺陷

哈希冲突 & 内存溢出

1. 哈希产生的背景 问题: 在开发过程中,我们经常需要判断一个元素是不是在一个集合里; 比如:我们现在有个爬虫,已经抓了 十亿 个 url,我们在接下来的抓取过程中,需要先判断 url 是否已经被爬过了,如果 url 已经下载过了那我们就不再爬取,那如何实现该逻辑呢? 思路: 一般的思路是将所有元素保存起来...

数据结构:位图的特性与缺陷

1. 什么是位图 前面介绍了哈希算法,同时也指出了哈希算法存在的空间复杂度太高问题,那么有没有一种数据结构满足 既能处理大量数据,同时又不占用太多空间 的要求呢? 这里我们介绍另一种叫 位图 的数据结构,这里的位图并不真的是图,而是按照集合中最大元素 max 创建一个长度为 max+1 的新数组,在数据存入时扫描原始数组,每当遇到一个数值就把新数组该位置写为 1,比如遇到 5 就...

推荐系统:推荐系统基础知识

推荐系统概念 推荐系统要解决的核心是长尾对象。 从某种意义上说,推荐系统和搜索引擎对于用户来说是两个互补的工具。 搜索引擎满足了用户有明确目的时的主动查找需求,而推荐系统能够在用户没有明确目的的时候帮助他们发现感兴趣的新内容。 如果要通过发掘长尾提高销售额,就必须充分研究用户的兴趣,而这正是个性化推荐系统主要解决的问题。推荐系统通过发掘用户的行为,找到用户的个性化需求,从而将长尾商品...