api - 有没有办法利用Hadoop工具来管理对外部源的并行REST API调用?

标签 api graph hadoop amazon-sqs

我正在编写创建大型图形数据库的软件。该软件需要访问数十种不同的REST API,并具有数百万的总请求。然后,数据将由Hadoop集群处理。这些API中的每一个都有速率限制,速率限制随请求/秒,每个窗口,每天和每个用户(通常通过OAuth)而变化。

是否有人对我如何使用Map函数或其他Hadoop生态系统工具管理这些查询有任何建议?目标是利用Hadoop中的并行处理。

由于速率限制的变化,在等待第一个限制重设时切换到其他API查询通常是有意义的。一个示例是一个API调用,它在图形中创建节点,而另一个API调用则丰富了该节点的数据。我可以在等待第一个API限制重置的同时让系统退出并充实新节点的数据。

我曾尝试在EC2上使用SQS队列来管理各种API限制和状态(为每个API调用创建一个队列),但是发现它的运行速度非常可笑。

有任何想法吗?

最佳答案

对于我的场景,似乎最好的选择是使用Storm,或者特别是Trident抽象。它为工作负载管理和流程管理提供了最大的灵活性

关于api - 有没有办法利用Hadoop工具来管理对外部源的并行REST API调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15525107/

相关文章:

ruby-on-rails - 版本控制 Grape active_model_serializers

algorithm - 在二维网格上找到最大的效果重叠区域

algorithm - 如何使用图形表示汉诺塔问题?

php - 改变使用 PHP/MySQL 生成的图形

sql - Hive(查找连续 n 列的最小值)

hadoop - Oozie map-reduce 作业永远停留在 PREP 状态

c++ - 如何使用 Visual C++ Win32 API 了解 Internet 连接详细信息

rest - 如何从 REST API 传递类别属性值

swift - 通过相同的结构从不同的 API 获取数据?

java - Pig UDF 找不到 WritableComparable