2016-12-30 55 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,儘管足夠用於python編程的postgres數據庫,但出於某種原因,它不適用於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(複製命令),你不應該有問題。

相關問題