私は米国西部のds2.xlarge Redshiftクラスターを約1TBのデータで使用しています。私は次のように同じ領域のS3バケットに50GBのテーブルをアンロードしようとしています:S3への赤方偏移のアンロードが極端に遅い
UNLOAD ('select * from table_name') TO 's3://bucket/folder_name/'
CREDENTIALS 'aws_access_key_id=foo;aws_secret_access_key=bar'
MANIFEST;
このクエリには約1時間かかります。 Amazon Webサイトでは、私たちのクラスタに0.5GB/sのI/Oがあると言われているので、これは意外なことです。つまり、50GBのテーブルは1時間ではなくS3にアップロードするのに2分以下かかることになります。 (広告の20〜30倍の遅さ)
他の誰かがこの問題に遭遇したか、または修正/回避策を見つけましたか? Redshiftを使用することに決めたら、Redshiftから毎日約200GBのデータをS3に移動する必要があります。
クラスタにノードが1つしかありませんか。テーブルにはいくつの行と列がありますか?より少ない量(例えば、 'select * from table_name limit 10000')を実行すると、より速く完了しますか?ちょうど興味のない、クラスタのための0.5GB/sの言及はどこですか? –
I/Oはここに記載されています:https://aws.amazon.com/blogs/aws/amazon-redshift-now-faster-and-more-cost-effective-than-ever/ 私はテーブルには約80Mの行と10〜20の列。制限付きではるかに高速です – sparknoob
I/Oカラムは、データベースがディスクストレージにアクセスできる速度であり、必ずしもAmazon S3へのエクスポート速度ではないと思われます。より少ない行でエクスポートがより速く終了するという事実は、それがデータ量に関連していることを示しています。ワークロード管理(WLM)を使用して、プロセスにスロット(したがって、より多くのメモリー)を与えることができます。参照:['wlm_query_slot_count'](http://docs.aws.amazon.com/redshift/latest/dg/r_wlm_query_slot_count.html) –