2017-11-21 1 views
3

S3からPostgres RDSにデータをロードする必要があります(約50〜100 GB)AWSデータパイプラインを使用するオプションがなく、同様のものを探していますCOPYコマンドを使ってS3のデータをAmazon Redshiftに読み込むまでS3からPostgreSQLにデータをロードする方法RDS

これをどのように達成できるかについてのご意見をお待ちしております。

答えて

1

http://docs.aws.amazon.com/redshift/latest/dg/t_loading-tables-from-s3.html

アマゾンS3上のデータファイルから並行して、テーブルをロードするためにCOPYコマンドを使用します。ロードするファイルは、Amazon S3オブジェクト接頭辞を使用するか、マニフェストファイルを使用して指定できます。

は、次のように接頭辞を使用することによってロードされるファイルを指定するための構文は次のとおりです。

copy <table_name> from 's3://<bucket_name>/<object_prefix>' 
authorization; 

更新

を別のオプションは、S3をマウントしてへの直接パスを使用することですcsvとCOPYコマンド。私はそれが100GBを効果的に保持するかどうかはわかりませんが、試してみる価値があります。ソフトウェア上のオプションのHere is some list

さらに別のオプションは、「名前付きパイプ、described here

そして、ちょうどローカルストレージにファイルをダウンロードし、私はドンCOPYを使用するための最も明白なオプションからファイルやCOPYに一部with something described hereによってS3ファイルの一部を「解析する」ことになります全くカバーしない

また、言及する価値はs3_fdw(ステータスが不安定)です。 Readmeは非常に不器用ですが、s3ファイルにつながる外部テーブルを作成できると仮定します。あなた自身が他の関係にデータをロードできることを意味します。

+1

フィードバックをいただきありがとうございます。しかし、RedshiftではなくS3からPostgres RDSにデータをロードする必要があります。だから、 "コピー"コマンドは私にとってはうまくいかないでしょう。 – Raj

+0

S3のデータをAmazon Redshiftに読み込むCOPYコマンドが混乱しました。 - postgresに "マウントされた" s3ドライブからコピーすることができます。 –

+0

@Rajはいくつかのオプションで答えを更新しました。それぞれには何らかの努力や時間が必要ですが、これが私たちの気持ちです –

関連する問題