大数据集群单节点多节点_大数据:当单节点优于集群时

大数据集群单节点多节点

关于“大数据”有很多炒作,并且有一种尝试将Hadoop应用于几乎所有问题的普遍趋势。 但是,有时事实证明,通过编写算法的老式但经过优化的单节点版本,可以获得更好的结果。

我正在写的特定案例是基于3亿个偏好值 (用户项对,用户当前喜欢的内容)的数据集生成建议(用户可能喜欢的项目)。 无论您是否称其为“大数据”都是有争议的,但是对于传统的单节点算法(例如Taste推荐器 )而言,它足够大,可以使他们花费大量的时间和内存来完成任务。

似乎显而易见的选择是将其集群化: Mahout包含基于共生推荐算法的Hadoop实现。 在我们的测试运行中, 一个10节点的小实例EMR集群花费了大约7个小时

然后,我了解了GraphChi以及一台笔记本电脑可以做什么! 尽管GraphChi的作者以外的其他人并不能完全使用它,但它启发了我们尝试对推荐问题尝试相同的方法。

因此,我们尝试实现基于共现的推荐算法的单节点版本,该算法可在内存中存储尽可能多的数据,并在内存用完的情况下使用MapDB的持久映射作为后备。 主要是由于内存中的计算占主导地位,我们的优化版本在大型EC2实例上大约需要4个小时才能完成。

由于简单的设置和对代码库的完全控制,事实上,现在添加各种增强功能(例如抖动 ,与其他推荐资源结合或结合基于内容的功能)也变得更加容易。

这种方法也可以扩展:通过添加更多的RAM,更快的磁盘(在没有足够内存的情况下使用)(例如SSD),或者最终通过对数据集进行分区并并行运行。 但是,从推荐质量的角度来看,在某些时候添加更多的数据点不再有意义。

总结 :如果您有一个庞大的数据集,不一定是“万亿”级的“大数据”,但对于经典的消化方法来说却太大了,请考虑编写一个定制的,优化的内存版本。 最终可能会变得更简单,更快。

参考: 大数据:当单个节点比我们的JCG合作伙伴 Adam Warski的博客(Adam Warski博客)中的群集更好时

翻译自: https://www.javacodegeeks.com/2014/03/big-data-when-single-node-is-better-than-clustered.html

大数据集群单节点多节点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值