gpt4 book ai didi

python - 使用 python 和 psycopg2 将数据从 S3 复制到 AWS redshift

转载 作者:太空狗 更新时间:2023-10-29 17:23:19 27 4
gpt4 key购买 nike

我在执行复制命令以从 python 将数据从 S3 加载到 Amazon 的 Redshift 时遇到问题。
我有以下复制命令:

copy moves from 's3://<my_bucket_name>/moves_data/2013-03-24/18/moves'
credentials 'aws_access_key_id=<key_id>;aws_secret_access_key=<key_secret>'
removequotes
delimiter ',';

当我使用 SQL Workbench/j 执行此命令时,一切都按预期工作,但是当我尝试使用 python 和 psycopg2 执行此命令时,命令通过 OK 但没有加载数据,也没有抛出任何错误。
尝试了以下两个选项(假设 psycopg2 连接正常,因为它是):

cursor.execute(copy_command)  
cursor.copy_expert(copy_command, sys.stdout)

两者均通过且没有警告,但数据未加载

想法?

谢谢

最佳答案

我已经成功地使用了这个确切的设置(psycopg2 + redshift + COPY)。你后来 promise 了吗? SQL Workbench 默认为自动提交,而 psycopg2 默认为打开事务,因此在您对连接调用 commit() 之前,数据将不可见。

完整的工作流程是:

conn = psycopg2.connect(...)
cur = conn.cursor()
cur.execute("COPY...")
conn.commit()

我不相信 copy_expert() 或任何 cursor.copy_* 命令适用于 Redshift。

关于python - 使用 python 和 psycopg2 将数据从 S3 复制到 AWS redshift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15601704/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com