HackerNews 基于用户投票的排名 发表于 2018-12-29 说起帖子排名, 最简单粗暴的方法就是按照某个指标进行排序, 比如被点赞最多/分享最多/收藏最多/等等. 但这有个问题, 某些热门帖子可能长期占据排名前列. 对此如果加上一个时间限制来避免, 比如按照最近 N 小时被点赞最多来排序, 这又可能面临这样的问题: 比如 N小时前还在排名前列的帖子, N小 ... 阅读全文 »
数值指数衰减 发表于 2018-12-22 标签值衰减在用户画像里, 经常会用到衰减这个功能.比如几个月前的行为计算出来的兴趣分值需要随时间衰减, 让近期的兴趣分值有机会排在前面, 更好的反映最近的兴趣偏好等. 常用的衰减方法可以选线性衰减或者是非线性的.线性衰减, 最简单的就是一条递减直线, 直接把标签分值乘以一个常数系数.非线性的, 例如 ... 阅读全文 »
贝叶斯平均,排序 发表于 2018-12-15 喜欢看电影的童鞋, 应该都听过 IMDB 这个网站, 尤其是 IMDB Top 250 .它是一个影视数据库和评分网站, 观众可以对影视作品进行打分, 然后网站根据用户的打分计算出作品的排序. 那么问题就来了, 不同的作品打分的人数不同, 比如热门电影的观众打分人数通常比冷门电影的多, 这些作品之间 ... 阅读全文 »
Jaccard 系数计算 (Spark实现) 发表于 2018-12-08 Jaccard 计算 (Spark 实现)之前我们讨论过了在大数据场景下 Jaccard 系数的计算方法, 那么在 Spark 中如何实现呢 ? Spark ML 中的示例import org.apache.spark.ml.feature.MinHashLSHimport org.apache.s ... 阅读全文 »
大数据下的 Jaccard 系数计算 发表于 2018-12-01 什么是 Jaccard (雅卡尔) 系数Jaccard 系数主要用于计算两个集合之间的相似度(比如用于新闻和论文查重等), 定义为两个集合交集大小与并集大小之间的比例: 然而, 要将这个公式转化为实际计算, 还存在一些问题, 尤其是计算海量数据时. 如何方便的计算相似度第一个要处理的问题就是如何方 ... 阅读全文 »
威尔逊区间 发表于 2018-11-01 Up / Down 排序 在 web 应用中我们经常会涉及到排序, 比如根据用户对某些 item 的喜恶等进行排序, 其中核心就是排序的方法. 常见的方法: 方法1, 根据 喜好的人数 - 不喜欢的人数 的结果进行排序, 常见的是 Up 和 Down 投票.假设 ItemA 有 100 Up 和 ... 阅读全文 »
Hive SQL - 动态分区写入慢的问题1 发表于 2018-10-10 公司群里有同学反馈, 有个 hive SQL 任务使用动态分区写入时,速度非常缓慢, 看了一下 SQL 只有 select + insert, 没有复杂逻辑. INSERT INTO TABLE table_foo PARTITION (p1, p2)SELECT col1, col2, .., c ... 阅读全文 »
YouTube 视频下载工具 - youtube-dl 发表于 2018-10-01 youtube-dl 是一款开源的视频下载工具,通过它我们可以很方便的下载 YouTube 上的视频,还可以进行各种选项设置。 安装本人使用的是 python3, 安装使用 pip : pip install youtube-dl 使用最简单的用法:youtube-dl https://www.yo ... 阅读全文 »
Hive SQL - Map Join 加速查询速度 发表于 2018-10-01 在之前的文章 MapReduce Map Side Join - 用户经纬度转换的例子 中, 我们提过如何使用 Hadoop MapReduce 进行 Map Side Join 开发, 但那个需求是一个比较特殊的例子, 大部分情况都没有这么特殊的 join 逻辑, 即直接用 HiveSQL 而不需 ... 阅读全文 »
MR 引擎 - COUNT(DISTINCT) SQL 优化 发表于 2018-09-01 做数据仓库的同学, 在很多情况下都是使用 SQL 来完成一些任务, 查看一下数据的统计情况, 比如使用 groupBy 和 count.但是有时贪图方便没有注意, 写 SQL 时就直接用 count(distinct foo_field) 进行查询, 这时如果表的数据量比较大就会出现问题. 示例 举 ... 阅读全文 »