59

eBay的数据处理框架Accelerator提供并行执行和实时推荐功能

 5 years ago
source link: http://www.infoq.com/cn/news/2018/06/ebay-accelerator-framework?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

看新闻很累?看技术新闻更累?试试 下载InfoQ手机客户端 ,每天上下班路上听新闻,有趣还有料!

eBay的数据处理框架 Accelerator 提供并行执行和自动组织源代码、输入数据及计算结果的功能。它可以用于数据分析、算法开发,以及拥有大型数据文件和多个CPU的实时推荐系统。它也有助于管理和记录数据文件、计算、计算结果和它们之间相互关系。

eBay的团队最近 开源了 Accelerator框架。Accelerator最初是由瑞典AI公司Expertmaker于2012开发。eBay在2016年收购了Expertmaker。

该框架用于处理像事物日志、事件日志和数据库转储这样的日志文件。Accelerator是基于C/S的应用程序。它的架构包括一个“runner”客户端和两个名为“daemon”和“urd”的服务器。

runner程序运行在daemon服务器上执行作业的脚本(称为构建脚本,build scripts)。该服务器将加载并存储执行的所有作业的信息和计算结果。同时,所有作业将由urd服务器存储到作业日志文件系统数据库中。

Urd服务器把作业和它们的依赖项一起存储在基于日志文件的数据库中。所有在构建脚本中发生的事情都可能被记录到Urd中。

数据集是Accelerator的默认存储类型,专为并行处理和高性能而设计的。

数据集构建于作业之上,因此,数据集通过各种方法创建并存储在作业目录中,就像任何一个作业结果一样。单个作业也许包含任意数目的数据集,因此可以把一个输入数据集分成若干个新数据集。

该Accelerator的关键特性是重用计算结果和数据流。如果一项作业已经存在,Accelerator将不再构建此项作业。这节省了执行时间,并有助于在用户之间共享计算结果。它还提供了可见性并确保了确定性。数据流有助于处理连续的数据块,比在数据库里执行查询更有效率。流式传输是实现从硬盘到CPU高带宽的最佳途径,可以很好地利用操作系统基于RAM的硬盘缓冲区。

Accelerator内存占用很小,可以在笔记本电脑或机架式服务器上运行。在开源之前,像Safeway、星巴克、eBay和Vodafone这样的公司已经把它运用于项目中了。

它获得了 Apache 2.0许可 授权。如果您有兴趣了解更多关于ExpertMaker Accelerator的信息,请查阅 Github存储库安装存储库用户参考手册

阅读英文原文: eBay's Accelerator Data Processing Framework Provides Parallel Execution and Live Recommendations

感谢冬雨对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK