【发布时间】:2015-09-18 18:40:13
【问题描述】:
我正在使用 python 将数据(约 800 万行)从 oracle 传输到 vertica。我编写了一个 python 脚本,可以在 2 小时内传输数据,但我正在寻找提高传输速度的方法。
我正在使用的流程:
- 连接到 Oracle
- 将数据拉入数据框(熊猫)
- 逐一迭代数据帧中的行并插入到vertica(cursor.execute),我想使用
dataframe.to_sql方法,但此方法仅限于几个数据库
有没有人使用更好的方法(批量插入或任何其他方法?)使用 python 将数据插入到 vertica?
这里是代码sn-p:
df = pandas.read_sql_query(sql,conn)
conn_vertica = pyodbc.connect("DSN=dsnname")
cursor = conn_vertica.cursor()
for i,row in df.iterrows():
cursor.execute("insert into <tablename> values(?,?,?,?,?,?,?,?,?)",row.values[0],row.values[1],row.values[2],row.values[3],row.values[4],row.values[5],row.values[6],row.values[7],row.values[8])
cursor.close()
conn_vertica.commit()
conn_vertica.close()
【问题讨论】:
标签: python bulkinsert vertica