可以从本地计算机将数据插入RedShift而无需先将数据复制到S3吗? 基本上是通过记录直接插入RedShift?
如果是 - 可以使用哪个库/连接字符串? (我不关心表现)
感谢。
答案 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
不仅可以查询和保存结果,还可以将结果写回到笔记本环境中的数据库中。