大規模なグラフデータベースを作成するソフトウェアを書いています。ソフトウェアは、数百万のリクエストを含む数十の異なるRESTAPIにアクセスする必要があります。その後、データはHadoopクラスターによって処理されます。これらの各APIには、リクエスト/秒、ウィンドウごと、1日ごと、ユーザーごと(通常はOAuth経由)で異なるレート制限があります。
Map関数または他のHadoopエコシステムツールを使用してこれらのクエリを管理する方法について誰か提案がありますか?目標は、Hadoopの並列処理を活用することです。
レート制限はさまざまであるため、最初の制限がリセットされるのを待っている間に、別のAPIクエリに切り替えるのが理にかなっていることがよくあります。例としては、グラフにノードを作成する1つのAPI呼び出しと、そのノードのデータを強化する別のAPI呼び出しがあります。最初のAPI制限がリセットされるのを待っている間に、システムを停止して新しいノードのデータを強化することができます。
EC2でSQSキューを使用して、さまざまなAPIの制限と状態を管理しようとしましたが(API呼び出しごとにキューを作成)、途方もなく遅いことがわかりました。
何か案は?