Ami*_*ine 6 amazon-s3 amazon-redshift import-csv
我正在使用 SQL Workbench /J 与 Redshift 集群交互,我想将 CSV 文件(大约 500k 行)加载到 Redshift 表中(我有插入权限),而不使用 COPY 命令(因为我没有权限复制到s3)。
你知道它是否可行(可能使用插入),如果可行,你能帮我吗?
请注意,我拥有的唯一权限是:选择、插入、更新和删除集群内的表。
谢谢。
该COPY
命令是将数据加载到 Redshift 的最佳方式。唯一的其他方法是逐行INSERT
数据,这可以使用 python 脚本来完成,该脚本在建立与 Redshift 的连接后pyscopg2
运行SQL 查询。INSERT
因此,只需逐行迭代 CSV 文件并对INSERT
所有行执行查询:
import psycopg2
conn = psycopg2.connect("dbname = 'your_db_name' user= 'your_user' host='redshift_cluster_endpoint_without_port_number' port='port_number' password='password'")
cur = conn.cursor()
for row in rows:
cur.execute("INSERT INTO TABLE_NAME VALUES(%s,%s,%s,%s)" %(row[0],row[1],row[2],row[3]))
Run Code Online (Sandbox Code Playgroud)
row[0],row[1],row[2],row[3]
一行中所有列的数据在哪里?
请记住,逐行插入将比COPY
命令慢得多且效率低。
归档时间: |
|
查看次数: |
6158 次 |
最近记录: |