Hive

【精品投稿】推荐系统评测心得

混江龙づ霸主 提交于 2020-11-20 07:19:07
推荐系统评测心得 做推荐算法的质量工作将近一年,这一年尝试了很多东西,踩了不少坑,也对推荐的评测工作稍微有了些自己的心得,现在分享出来,希望能和做这块工作的同学一起交流、探讨,也欢迎多拍砖,多提意见。 推荐系统 目前推荐技术的应用已经非常较普及了,新闻、商品、问答、音乐,几乎都会用到推荐算法来为你呈现内容。下面是淘宝、知乎、微博三个app的推荐模型,可以看到推荐都在非常重要的位置。 在介绍推荐算法评测之前,我先简单说下推荐系统,这里我以商品为例,简单描述下推流程,让大家更明白一些,一般推荐主要包含以下步骤: 召回->打分排序->透出 召回 召回阶段通常的手段是协同过滤比较场景的i2i,u2i等这种x2x,也有使用embedding的方式通过向量之间的距离进行召回。以i2i为例,假如现在要针对我推荐一个商品,那么首先要找到我感兴趣的物品 ,这些数据是通过我的历史行为来进行获取,比如拿到我最近一段时间内的点击、加购、收藏、购买的物品,将这些商品做为trigger进行召回,协同算法的具体就不再这里叙述了,有兴趣可以看下链接,最终我们按照协同过滤算法算出商品之间的相似分值,然后按照一定数量进行截断,因为这里截断也是依靠分数来进行的,所以一般这一步也称粗排。这样召回截断就完成了。 打分 召回完商品后,我们需要对这些商品进行再一次的精排,这里需要用模型来预估ctr,一般情况下LR、GBDT

TiDB 的现在和未来

∥☆過路亽.° 提交于 2020-11-19 14:04:28
本文根据黄东旭在 PingCAP D 轮融资线上发布会的演讲实录进行整理。 TiDB 的现在和未来 大家好,我是黄东旭,是 PingCAP 的联合创始人和 CTO,这是 PingCAP 成立以来的第一次发布会,我想跟大家简单聊聊 TiDB 在产品和技术上的更新。考虑到线上的很多观众不一定是有很强的技术背景,我将尽我所能将技术的部分说得让大家都能够理解。 在讲正题之前有一个小故事,我们做基础软件的产品经理去跟客户聊需求的时候,客户经常都会说:对于数据库,我的要求特别简单、特别基础、非常朴素,我不要求很多功能,安全稳定是必须的,最好能高可用,性能一定要好,如果数据量大了,能实现弹性伸缩就更好了;另外,最好别让我学太多新东西,用起来跟过去使用的产品差不多,这就是一款完美的数据库产品。 就像大家在家里用自来水一样,我们对自来水的需求就是拧开水龙头水就能出来,但是背后自来水厂是怎么处理的大家不用知道,我们只需要根据实际情况使用冷水或者热水就好。但是从技术的角度来说,刚才类似冷热水这个非常朴素的基础需求,类比一下放到数据库的世界这就是一个图灵奖级别的基础需求,稍微解释一下图灵奖是计算机行业学术界最顶级的,相当于计算机界的诺贝尔奖。 这里有两位行业泰斗级的人物,左边 Leslie Lamport 在 2013 年研究相关问题拿了图灵奖,右边这位跟我们挺有缘的,发型跟(我们的 CEO)刘奇同学挺像

Flink 1.11 与 Hive 批流一体数仓实践

对着背影说爱祢 提交于 2020-11-18 17:47:41
导读:Flink 从 1.9.0 开始提供与 Hive 集成的功能,随着几个版本的迭代,在最新的 Flink 1.11 中,与 Hive 集成的功能进一步深化,并且开始尝试将流计算场景与Hive 进行整合。 本文主要分享在 Flink 1.11 中对接 Hive 的新特性,以及如何利用 Flink 对 Hive 数仓进行实时化改造,从而实现批流一体的目标。主要内容包括: · Flink 与 Hive 集成的背景介绍 · Flink 1.11中的新特性 · 打造 Hive 批流一体数仓 一、 Flink 与 Hive 集成背景 为什么要做 Flink 和 Hive 集成的功能呢?最早的初衷是我们希望挖掘 Flink 在批处理方面的能力。众所周知,Flink 在流计算方面已经是成功的引擎了,使用的用户也非常多。在 Flink 的设计理念当中,批计算是流处理中的一个特例。也就意味着,如果 Flink 在流计算方面做好,其实它的架构也能很好的支持批计算的场景。在批计算的场景中,SQL 是一个很重要的切入点。因为做数据分析的同学,他们更习惯使用SQL 进行开发,而不是去写 DataStream 或者 DataSet 这样的程序。 Hadoop 生态圈的 SQL 引擎,Hive 是一个事实上的标准。大部分的用户环境中都会使用到了 Hive 的一些功能,来搭建数仓。一些比较新的 SQL 的引擎

滴滴实时数仓逐层剖解:实时与离线数据误差<0.5%

 ̄綄美尐妖づ 提交于 2020-11-18 09:30:22
作者介绍 潘澄, 资深软件开发工程师。负责实时数据仓库建设,多年数据相关工作经验,专注数据建模、数据仓库、实时数据技术等领域。 朱峰, 高级软件开发工程师。主要从事实时数据仓库建设,专注实时和离线数仓技术,对数仓建模、数据研发和数仓中间层建设有一定的积累。 前言 随着滴滴业务的高速发展,业务对于数据时效性的需求越来越高,而伴随着实时技术的不断发展和成熟,滴滴也对实时建设做了大量的尝试和实践。本文主要以顺风车这个业务为引子,从引擎侧、平台侧和业务侧各个不同方面,来阐述滴滴所做的工作,分享在建设过程中的经验。 一、实时数仓建设目的 随着互联网的发展进入下半场,数据的时效性对企业的精细化运营越来越重要,商场如战场,在每天产生的海量数据中,如何能实时有效的挖掘出有价值的信息, 对企业的决策运营策略调整有很大帮助。 其次从智能商业的角度来讲,数据的结果代表了用户的反馈,获取结果的及时性就显得尤为重要,快速的获取数据反馈能够帮助公司更快的做出决策,更好的进行产品迭代,实时数仓在这一过程中起到了不可替代的作用。 1 、解决传统数仓的问题 从目前数仓建设的现状来看,实时数仓是一个容易让人产生混淆的概念,根据传统经验分析,数仓有一个重要的功能,即能够记录历史。通常,数仓都是希望从业务上线的第一天开始有数据,然后一直记录到现在。但实时流处理技术,又是强调当前处理状态的一个技术

window下Sparksql 无法获取文件权限问题

删除回忆录丶 提交于 2020-11-17 13:46:31
Caused by: java.lang.RuntimeException: Error while running command to get file permissions : java.io.IOException: (null) entry in command string: null ls -F D:\tmp\hive Caused by: java.lang.RuntimeException: Error while running command to get file permissions : java.io.IOException: (null) entry in command string: null ls -F D:\tmp\hive at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:762) at org.apache.hadoop.util.Shell.execCommand(Shell.java:859) at org.apache.hadoop.util.Shell.execCommand(Shell.java:842) at org.apache.hadoop.fs.FileUtil.execCommand(FileUtil.java:1097)

大厂高频面试题-连续登录问题

梦想的初衷 提交于 2020-11-14 04:02:13
1 背景 对于数据开发人员来说,手写sql是比较熟悉的了,就有这样一道题,面试时需要手写sql,这就是非常经典的连续登录问题,大厂小厂都爱问,这种题说简单也不简单,说难也不难,关键是要有思路。 2 真题 hql统计连续登陆的三天及以上的用户 这个问题可以扩展到很多相似的问题:连续几个月充值会员、连续天数有商品卖出、连续打车、连续逾期。 数据提供 用户ID、登入日期 user01,2018-02-28 user01,2018-03-01 user01,2018-03-02 user01,2018-03-04 user01,2018-03-05 user01,2018-03-06 user01,2018-03-07 user02,2018-03-01 user02,2018-03-02 user02,2018-03-03 user02,2018-03-06 输出字段 +---------+--------+-------------+-------------+--+ | uid | times | start_date | end_date | +---------+--------+-------------+-------------+--+ 3 群内讨论 这道题在群里发出后,大家就展开了激烈的讨论: 4 解决方案 可以看出来,有很多种不同的解决方案。