我在pandas数据框中有一个44k行的表。当我试图将这个表(或任何其他表)导出到Redshift数据库时,这个过程需要很长时间。我使用sqlalchemy创建一个如下的conexion:
import sqlalchemy as sal
engine = sal.create_engine('redshift+psycopg2://blablamyhost/myschema')
我用于导出表的方法是Pandasto_sql
,如下所示:
^{pr2}$
这么慢是正常的吗?我说的是超过15分钟。在
Tags:
是的,这样慢是正常的(对于大型集群来说可能更慢)。常规的sql插入(由sqlalchemy生成)对于Redshift非常慢,应该避免。在
您应该考虑使用S3作为中间过渡层,您的数据流将是: 数据帧->;S3->;红移
理想情况下,您还应该在上传到S3之前gzip您的数据,这也会提高您的性能。在
这可以通过使用BOTO3和psycopg2从python脚本进行协调 https://boto3.readthedocs.io/en/latest/
相关问题 更多 >
编程相关推荐