複数のローカルcsvファイルをAWS RDSにアップロードする最も速い方法は何ですか? 私は数千のCSVファイルに100Gbsのデータをローカルマシンに置いています。複数のローカルcsvファイルをAWS RDSにアップロード
1)ローカルPostgresデータベースを作成し、ローカルPostgresデータベースにデータを挿入するために、あなたのCSVファイルをparce:
複数のローカルcsvファイルをAWS RDSにアップロードする最も速い方法は何ですか? 私は数千のCSVファイルに100Gbsのデータをローカルマシンに置いています。複数のローカルcsvファイルをAWS RDSにアップロード
1)ローカルPostgresデータベースを作成し、ローカルPostgresデータベースにデータを挿入するために、あなたのCSVファイルをparce:
@spgの答えを拡張するには:彼はEC2 to RDSがMUCHよりもRDSの方が速いという点で正しいです。
psql
をインストールします。scp
を使用して、CSVファイルをEC2インスタンスに直接コピーします。はCSVからアイテムをインポートするためにはpsql/copyコマンドを使用します。RDS実行されているどのようなDBエンジン
$psql target-db^ -U <admin user>^ -p <port>^ -h <DB instance name>^ -c "\copy source-table from '/path/to/source-table.csv' with DELIMITER ','"
は、私はそれを達成するための2つの方法を参照してください。次に、pg_dump
データベースのコンテンツをローカルの.sql
ファイルに追加します。この.sql
ファイルをS3にアップロードできます。ダンプファイルがS3に入ったら、ダンプファイルpsql
をpostgres RDSインスタンスに丸めたEC2インスタンスをスピンアップします。
2)s3 sync
を使用して、CSVファイルをS3バケットにコピーします。次に、CSV行を1つずつ解析してRDSインスタンスにデータを挿入するEC2インスタンスをスピンアップします。
いずれの場合も、EC2インスタンスからRDSインスタンスにデータを挿入して、待ち時間。ローカルマシンからRDSインスタンスにデータを挿入する場合、これには非常に時間がかかります。 EC2インスタンスとRDSインスタンス間の通信は、AWSデータセンター内のネットワークが近接するため、はるかに高速になります。
? MySQL? Postgres? – talentedmrjones
ポストグルです。ありがとう! – Stella