【发布时间】:2017-12-30 12:45:10
【问题描述】:
我是新python,遇到如下问题,请原谅我的无知
问题陈述:- Python3 数据框包含需要保存在 redshift 数据库中的值(大约 100 万行和几千列)
解决方案研究:-
1> 根据文档,执行此类操作的最快方法是使用copy 命令。但在我的情况下,表结构不断变化。所以这个解决方案不适合我
2> 尝试使用to_sql 直接保存数据帧,但它需要很长时间才能完成。使用 chunksize 尝试过同样的操作,但这也没有奏效(它需要很长时间才能完成。我已将脚本留给 2- 3 小时,但它仍在运行)
df.to_sql('a_265', conn, index = False, if_exists = 'replace')
df.to_sql('a_265', conn, index = False, if_exists = 'replace', chunksize=10)
3> 试图寻找另一个可用的选项odo。但这也需要有一个表结构。因为这也在背景中使用了复制命令
那么有什么解决方案可以让我实现将 csv 批量上传到 redshift 中
*注意:- 表结构不断变化。因此,如果建议复制命令,请告诉我如何处理表结构的变化
【问题讨论】:
-
“但这也没用” - 你能更具体地说明你尝试这个时发生了什么吗?它没有完成运行吗?产生错误?
-
@Nathan:- 更新了所要求的更改
-
@Xukrao:- 感谢您指出相关的答案。由于我很天真,您能否解释一下 con.cursor() 之后的步骤
-
@ankitkhanduri 我对这个话题也不太了解。最好的办法是直接询问该答案的作者。
标签: python python-3.x amazon-redshift