使用 Python 将数据插入 RedShift

Posted

技术标签:

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

可以在不先将数据复制到 S3 的情况下将数据从本地计算机插入 RedShift 吗? 基本上作为将记录直接插入到 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

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

【讨论】:

以上是关于使用 Python 将数据插入 RedShift的主要内容,如果未能解决你的问题,请参考以下文章

使用python将数据插入mysql表

使用python将数据插入redshift

尝试使用python将数据插入sql数据库

使用python将数据插入mySQL

使用 Python 将嵌套列表插入 mysql 数据库

使用带有外部变量的python将数据插入mysql