2017-09-01 17 views
0

nodejを使用してS3にDynamoテーブルをインポートする作業を進めています。私はすべて正常に動作していますが、何百万ものレコードを持っているのでコピー全体がかなり遅く、シーケンシャルスキャンは1MBに制限されています。ノードを使用してダイナモdBのパラレルスキャンを行います。nodejsを使用してDynamodb並列スキャンを使用してデータを取得する方法

しかし、そうするには、複数のスレッドを作成して、ノード内のスレッドに並列処理を割り当てる必要があります。それを行うための推奨方法があるかどうかを知りたいのですが、データパイプラインを使ってデータをインポートすることをお勧めしますか?私はそれについてどう思いますか?

答えて

0

組み込み並列スキャンの機能は、Scan APIで利用できます。全体が複数のセグメントに分割され、個々のセグメントに対してスキャンが実行されます。

Parallel scan

Segment: 0, 
TotalSegments: 5 

セグメント並列スキャン要求は、セグメントは、アプリケーション・ワーカーによって走査される個々 セグメントを識別する。

セグメントIDは、ゼロベースである、第1のセグメントは、テーブル またはインデックスをスキャンする4つのアプリケーションスレッドを使用する場合は、最初のスレッドが0のセグメント値を指定し、 例えば、常に0です。 、2番目のスレッド は1を指定します。

セグメントの値は、0以上で、TotalSegmentsに指定された値より小さい でなければなりません。

セグメントを提供する場合は、TotalSegmentsも提供する必要があります。

TotalSegments: - パラレルスキャン要求の場合、TotalSegmentsは、スキャン操作が に分割されるセグメントの総数を表します( )。 TotalSegmentsの値は、並列スキャンを実行するアプリケーションワーカー の数に対応します。たとえば、 4つのアプリケーションスレッドを使用してテーブルをスキャンする場合、または インデックスの場合は、TotalSegmentsの値を4に指定します。

関連する問題