【问题标题】:Insert data into RedShift by using Pyhon使用 Python 将数据插入 RedShift
【发布时间】:2018-06-15 15:29:17
【问题描述】:

可以在不先将数据复制到 S3 的情况下将数据从本地计算机插入 RedShift 吗? 基本上作为将记录直接插入到 RedShift 中?

如果是 - 可以使用什么库/连接字符串? (我不关心性能)

谢谢。

【问题讨论】:

  • 你试过...插入它吗?
  • 不,没有权限,正在找朋友。

标签: python postgresql amazon-s3 amazon-redshift


【解决方案1】:

可以在不先将数据复制到 S3 的情况下将数据从本地计算机插入 RedShift 吗?基本上作为将记录直接插入到 RedShift 中?

是的,可以做到。但不是首选方法,尽管您已经加权,但性能不是问题。

您可以使用psycopg2 库。您可以从任何机器(本地/在 EC2 或任何其他云平台)上运行此程序,该机器与您的 Redshift 实例具有网络连接/允许连接/来自/来自您的 Redshift 实例。 这是python代码sn-p。

import psycopg2


def redshift():

    conn = psycopg2.connect(dbname='your_database', host='a********8.****s.redshift.amazonaws.com', port='5439', user='user', password='Pass')

    cur = conn.cursor();

    cur.execute('insert into test values('1','2','3','4')")

    print('success ')


redshift();

【讨论】:

    【解决方案2】:

    这取决于您谈论的是 RedShift 还是 RedShift Spectrum。

    在 RSS 中,您必须将数据放在 S3 上,但如果您使用 RedShift,您可以使用 sqlalchemy 进行插入。

    【讨论】:

      【解决方案3】:

      从 python 查询 AWS Redshift 的最简单方法是通过这个 Jupyter 扩展 - Jupyter Redshift

      您不仅可以查询和保存结果,还可以在笔记本环境中将结果写回到数据库中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-29
        • 2018-07-17
        • 1970-01-01
        • 1970-01-01
        • 2013-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多