【发布时间】:2019-05-22 07:52:12
【问题描述】:
我想每天更新 AWS 中的一个表,我打算先使用 Python psycopg2 删除 AWS 中公共表中的数据/行,然后将 python 数据帧数据插入该表中。
import psycopg2
import pandas as pd
con=psycopg2.connect(dbname= My_Credential.....)
cur = con.cursor()
sql = """
DELETE FROM tableA
"""
cur.execute(sql)
con.commit()
上面的代码可以做delete,但是我不知道怎么写python代码来插入My_Dataframe到tableA。 TableA 大小大约是 100 万行到 500 万行,请指教。
【问题讨论】:
-
您的数据集有多大?如果你用 psycopg2 插入会很慢,你可以写入 S3 并使用
copy命令加载到 Redshift -
同样根据您的要求,如果您需要定期删除和重新加载表格,您可以使用
truncate,它会更快更明智 -
@mdem7 100万到500万行,你知道怎么用truncate吗?
-
对于这么多行,如果你从 python 插入会非常慢,你需要使用
copy。对于截断,语法是truncate table tableA
标签: python python-3.x amazon-web-services amazon-redshift