1

私はAWSを初めて使用しています。この質問が以前に尋ねられた場合は、私を許してください。カスタムREST APIからRedshiftにデータをロードする方法

私は2つのパラメータ(名前、電子メール)を返すREST APIを持っています。私はこのデータをRedshiftにロードしたい。

私は2分ごとに起動し、REST APIを呼び出すラムダ関数を作ることを考えました。 APIはこの2分以内に最大3〜4のレコードを返すことがあります。ただ挿入操作を行うか、私はまだCOPY(S3を使用)を使用する必要がありますする

ので、このような状況の下で、それは大丈夫でしょうか?パフォーマンスとエラーのない(ロバスト)データ挿入についてのみ心配しています。

また、ラムダ関数は非同期毎に2分を開始するので、挿入作業の重複があるかもしれない(しかし、データに重複がないであろう)。このような状況で

と私はS3のオプションを使用して行けば、私は以前のラムダ呼び出しによって生成されたS3ファイルが上書きされ、競合が発生する心配です。

かいつまんで、赤方偏移に少ないレコードを挿入するためのベストプラクティスは何ですか?

PS:他のAWSコンポーネントも使用できます。私はFirehoseを調べても私には完璧ですが、Private Subnet Redshiftにデータをロードすることはできません。すべて事前に

おかげ

+0

あなたは多くのデータを持っていないようにuがでかいデータを持っている場合 – Deepak

+0

巨大であり、私たちはそれらのためにAWS DMSを使用して他のテーブルがあり、そしてuは赤方偏移を必要とする理由高価で、理想的なソリューションである。..ルックス – Selva

答えて

2

はい、それはデータのINSERT少量にいいと思い均等に正常に動作します。..バッチ挿入のU機能を与えるように。

COPYコマンドで常にロードすることを推奨します。これは、複数のノードにまたがって並列化された負荷がCOPYであるためです。しかし、ほんの数行では、INSERTを罪悪感なしで使用することができます。

SORTKEYがタイムスタンプであり、データを時間順にロードしている場合は、データがすでにソートされているため、VACUUMを実行する必要性は低くなります。ただし、行が削除されている場合は、テーブルを定期的に変更することをお勧めします。

0

あなたは多くのデータを持っていないとして。コピーまたは挿入を使用できます。 COPYコマンドは、詳細..一括挿入用に最適化され、その

両方

関連する問題