使用Pyhon将数据插入RedShift

时间:2018-06-15 15:29:18

标签: python postgresql amazon-s3 amazon-redshift

可以从本地计算机将数据插入RedShift而无需先将数据复制到S3吗? 基本上是通过记录直接插入RedShift?

如果是 - 可以使用哪个库/连接字符串? (我不关心表现)

感谢。

3 个答案:

答案 0 :(得分:2)

  

可以从本地计算机将数据插入RedShift而无需先将数据复制到S3吗?基本上是通过记录直接插入RedShift?

是的,可以做到。但不是一种首选方法,尽管你已经加权,但表现并不是一个问题。

您可以使用psycopg2 liberary。您可以从具有网络连接的任何计算机(本地/在EC2或任何其他云平台上)运行此程序,以允许/从您的Redshift实例进行。 这是python代码片段。

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();

答案 1 :(得分:1)

这取决于您是否谈论RedShift或RedShift Spectrum。

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

答案 2 :(得分:0)

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

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