【问题标题】:How to copy a table with millions of rows from PostgreSQL to Amazon Redshift using pandas or python如何使用 pandas 或 python 将具有数百万行的表从 PostgreSQL 复制到 Amazon Redshift
【发布时间】:2019-10-18 10:54:53
【问题描述】:

使用 pandas 或 python 将表(具有数百万行)从一种类型的数据库复制到另一种类型的最佳方法是什么?

我在 PostreSQL 数据库中有一个包含数百万行的表,我想将它移动到 Amazon Redshift。使用 pandas 或 python 实现这一目标的最佳方法是什么?

【问题讨论】:

标签: python python-3.x pandas amazon-redshift dask


【解决方案1】:

Amazon Database Migration Service (DMS) 可以处理:

或者,如果您想自己做:

  • 将数据从 PostgreSQL 导出为 CSV 文件(可以 gzip 压缩)
  • 将文件上传到 Amazon S3
  • 在 Amazon Redshift 中创建目标表
  • 在 Amazon Redshift 中使用 COPY 命令将 CSV 文件加载到 Redshift 中

【讨论】:

  • 我使用copy 命令。这实际上是在现有表中插入大量数据的最佳方式。
【解决方案2】:
  • 如果您使用 Aws 服务,最好使用 aws Glue,它使用 python 脚本进行 ETL操作,非常适合 Dynamo-->例如 Redshift。

  • 如果您不只使用 Aws 服务,请尝试将 Redshift 数据导出为 csv? (我对数百万行执行此操作)并使用 c# 或其他方式创建迁移工具以读取 csv 文件并在转换行或其他方式后插入行 [检查您使用的数据库技术是否可以采用直接保存 csv,这样您就可以避免自己进行迁移]。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 2020-06-21
    • 2018-09-12
    • 2015-04-28
    • 2011-01-04
    • 2016-09-25
    • 2023-04-03
    相关资源
    最近更新 更多