2016-12-30 12 views
0

S3 csvファイルからRedshiftテーブルにプログラムでコピーするために推奨されるモジュールと構文は何ですか?私はpsycopg2モジュールを試してきましたが、成功しませんでした(psycopg2 copy_expert() - how to copy in a gzipped csv file?参照)。 cur.execute()、cur.copy_expert()、cur.copy_from()を試してみましたが、すべて失敗しました。私の経験とコメントを読んだところ、psycopg2は何らかの理由でPostgres DBをPythonプログラミングするのには十分であるが、Redshiftテーブルでは機能しないと結論づけられました。だから、もし私がPythonスクリプトにこのコピーをさせたいのであれば、回避策はありますか?Pythonを使用してS3 csvファイルからRedshiftテーブルをコピーしますか?

実行したいCOPY文は次のとおりです。ソースはパイプ区切り文字付きのgzip形式のcsvファイルです。これはDBeaverのようなSQLインターフェースから正常に動作しますが、私はそれは、Pythonに変換する方法を見つけ出すことはできません。

'''COPY <destination_table> from 's3://bucket/my_source_file.csv.gz' CREDENTIALS <my credentials> delimiter '|' IGNOREHEADER 1 ENCODING UTF8 IGNOREBLANK LINES NULL AS 'NULL' EMPTYASNULL BLANKSASNULL gzip ACCEPTINVCHARS timeformat 'auto' dateformat 'auto' MAXERROR 100 compupdate on;''' 

答えて

1

私は成功しpyODBCライブラリを使用してODBCを使用しています。 .execute(copy-command)を呼び出すだけで問題はありません。

関連する問題