- 德赢体育app
- 大数据
Taboola每天的页面浏览量超过40亿次,每天收集的数据超过100TB,它的规模不是玩笑。我们的主要数据管道处理大量的数据和无尽的读取路径。我们能针对所有这些读路径优化我们的模式吗?我猜不是……我们的图式庞大且嵌套高度。在消化完数据后,我们将其保存在HDFS上每小时的Parquet文件中,其中每小时包含约1-1.5TB的压缩数据。我们的模式大致是这样的:根| - userSession:结构| | - maskedIp:长| | -地理:结构| | | -国家:字符串| | | -地区:字符串| | | -城市:字符串| | -页面浏览量:数组| | | -元素:结构体 | | | |– url:字符串 | | | |– 推荐人:字符串 | | | |– 部件:数组 | | | | |– 元素:[…]
您是否曾经尝试过构建每天上传150 TB的基础设施?您是否曾经尝试过在不破产的情况下查询超过13PB的数据?这些是Taboola的PV2Google(谷歌页面浏览量)服务规模的一些挑战,我们在日常工作中都会遇到这些挑战。在本系列博客中,我们将分享我们是如何做到这一点的,以及我们面临的挑战。在本文(第1部分)中,我们将重点讨论体系结构。第二部分介绍了我们多年来学到的经验教训。你好,浏览量!Taboola的目标是为出版商和广告商提供推荐。我们的平台每天提供超过3600亿次内容推荐和超过20亿次页面浏览。Pageview是一个记录,描述用户访问网页时的建议、用户活动(如单击)以及更多内容。目前,pageview记录大约有1000个字段。20亿次的浏览量产生了大量的数据。此数据已处理[…]ac米兰赞助商 vwin
在本系列的第1部分中,我们分享了Taboola的PV2Google服务的体系结构,该服务每天向BigQuery上传超过150TB的数据。在本文(第2部分)中,我们将分享几年来我们所学到的挑战和教训。第1课:查询可能(非常)昂贵我们不断地将页面浏览量上传到BigQuery并保存六个月。这意味着BigQuery中的页面浏览量超过13PB。查询整个数据集将非常昂贵,大约65000美元/查询(假设5美元/TB)。我们应用了一些方法和指导原则来大幅降低这种成本:永远不要使用'SELECT*`:BigQuery的查询成本基于扫描数据的大小。大多数查询实际上只需要几个字段。因此,仅选择相关字段将显著降低查询成本。集群表:集群是一种整洁的BigQuery功能,可以减少扫描的行数。通过集群,BigQuery优化了数据[…]
Taboola是世界上最大的内容推荐公司之一。我们在世界各地的多个数据中心维护数百台服务器,同时必须遵守严格的sla。因此,您可能会理解为什么当系统超载时,我们的工程师希望得到一点提醒。像今天的大多数公司一样,我们使用指标来可视化服务的健康状况,我们的挑战是创建一个自动系统,能够在不影响性能的情况下尽快检测多个指标中的问题。如果我们能够预测重大事件即将发生时对我们的响应时间度量的影响,那不是很好吗?比如2020年1月26日的“黑色星期五”、“网络星期一”,甚至是“科比的悲剧”?图1:科比的宕机时间26/1/20是的,26/1左右没有指标的差距就是宕机时间[…]
Taboola负责每天数十亿的推荐,我们正在尽一切努力使这些推荐符合每个观众的个人品味和兴趣。我们通过更新我们基于深度学习的模型、增加我们的计算资源、改进我们的探索技术等等来做到这一点。然而,所有这些事情都有一个共同点——我们需要了解一个改变是否是好的,我们需要这样做,同时允许许多测试并行运行。我们可以想到许多新算法修改的KPI——系统延迟、建议的多样性或用户交互等等——但归根结底,在Taboola中,对我们来说最重要的一个指标是RPM(每工厂的收入,或每1000条建议的收入),这表明我们为双方客户创造了多少金钱和价值,即[…]
在塔博拉,我们处理规模,巨大的规模。一个小问题可能在几个小时内变成一场灾难。重新编写现有服务并用新服务替换它是一个真正的挑战,而且在不造成停机的情况下这样做是可怕的。读取日志不是一个选项。原木巨大、笨重,跨越许多机器。合并和分析它们需要几个小时。在这篇文章中,我将与您分享Grafana中的三个图表,我认为它们是观察新代码的必备工具。让我们开始…我破坏了生产吗?您编写了闪亮的代码,您(甚至)测试了它,但是,如何验证您没有破坏生产环境?幸运的是,我们使用了Grafana,这实际上有很大的不同。我的计划是比较Grafana中的旧代码和新代码,但是,从哪里开始呢?你有Grafana…让我们用它!坦率地说,我[……]
在这篇博文中,我将描述在Taboola,我们是如何因为度量量的持续扩展而两次改变我们的度量基础架构的。在过去的两年里,我们从《石墨》的2000万参数/分钟,到《Metrictank》的8000万参数/分钟,最后再到《Prometheus》和《Thanos》的框架,让我们的游戏获得超过1亿参数/分钟。Taboola一直在成长。我们的发ac米兰赞助商 vwin行商和广告商数量呈指数级增长,因此我们的数据也在增加,从而导致参数数量的持续增长。我们从石墨服务器的基本指标配置开始。我们使用一个石墨报告组件每分钟从MetricRegistry(属于dropwizard的第三方收集的指标,我们使用)获得一个指标快照,并将它们批量发送给RabbitMq,让碳继电器消费。碳是石墨后端的一部分,并且是[…]
大约8个月前,我和我的团队面临着构建第一个深度学习基础设施的挑战。我的一个团队成员(一位杰出的数据科学家)正在为我们的第一个深度模型开发原型。是时候进行生产了。我很荣幸能领导这项工作。我们的成就:我们建立了一个基础设施,排名超过60万项/秒,我们的深度模型已经大大超过了之前的模型。这个开创性的项目为Taboola随后的深度学习项目开辟了道路。所以原型已经准备好了,我想知道:如何从一个混乱的脚本变成一个可制作的框架?换句话说,如果你想建立一个深层次的模型管道,这篇文章很适合你。这篇博客文章关注的是训练基础设施,而不是推理基础设施。前提条件假设你有Python的基本知识[…]
如果你碰巧以写代码为生,那么你很有可能又要向另一位面试官解释如何颠倒链表,或者如何判断一个字符串是否只包含数字。通常,一旦签订了合同,这些理学学士材料的必要性就结束了,因为大多数这些低级问题都是在现代编码语言和外部库的底层为我们处理的。然而,就在不久前,我们发现自己在现实生活中面临这样一个问题:找到一种有效的实时加权抽样算法。虽然乍一看可能很幼稚,但我们想告诉你为什么它实际上不是——然后告诉你我们是如何解决它的,以防你会遇到类似的情况。所以系好安全带,我们接下来要讲一些统计和积分!生产中为什么需要加权抽样?在Taboola,我们的核心业务是个性化[…]