gpt4 book ai didi

amazon-web-services - 带有 cronjob + API 的 Amazon MapReduce

转载 作者:行者123 更新时间:2023-12-01 23:25:40 24 4
gpt4 key购买 nike

我在 EC2 实例上设置了一个网站,让用户可以查看来自他们 4 个社交网络的信息。

用户加入后,网站应每晚更新他们的信息,以在第二天显示最新的相关信息。

最初我们有一个 cron-job,它遍历每个用户并对 API 进行必要的调用,然后将数据存储在数据库(amazon rds 实例)上。

此操作每人需要 2 到 30 秒,这意味着一个接一个地执行此操作需要数天才能完成更新。

我在看 MapReduce,想知道它是否适合我尝试做的事情,但目前我不能确定。

我能否将一个 .sql 文件提供给 MapReduce,其中包含我要更新的所有记录 + 一个告诉 MapReduce 如何处理每条记录并让它同时处理它们的脚本?

如果没有,最好的解决方法是什么?

提前感谢您的帮助。

最佳答案

我假设每个用户的数据独立于其他用户的数据,这对我来说似乎是合乎逻辑的。如果不是这种情况,请忽略此答案。

由于您拥有相互独立的数据(即每个用户的数据独立于其他用户的数据),因此无需使用 MapReduce。 MR 只是编程中的一种范例,它在数据独立时简化数据操作(map 准备数据,然后是排序阶段,然后 reduce 从排序的记录中提取结果)。

在您的情况下,如果您想使用更多计算机,只需在它们之间分担负载 - 每台计算机每小时应处理约 10000 个用户(非常粗略的估计)。然后可以预先在计算机之间分配用户,或者以 1000 个左右的用户为单位请求它们,这样结束得越早的机器就可以处理更多的用户。

但是 使用 MR 框架(例如 Hadoop)还有一个额外的好处,即使您只使用一个阶段(仅 map )也是如此。它为您处理错误(节点失败、作业失败……),并负责在节点之间分配输入。

我不确定 MR 是否值得设置它,这取决于您以前的经验 - YMMV。

关于amazon-web-services - 带有 cronjob + API 的 Amazon MapReduce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6080848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com