2016-12-30 53 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(复制命令),你不应该有问题。

相关问题