2016-03-03 48 views
0

如何使用python從vertica中將1000萬行+行寫入csv文件? 當我試圖按如下方式寫入bulk_data.csv時,它在200,000行後觸發。如何使用python從vertica中將1000萬行+行寫入csv文件?

con = pyodbc.connect("DRIVER={Vertica};SERVER=***;DATABASE=***;UID=****;PWD=***") 
cursor = con.cursor() 
cursor.execute('SELECT * FROM ***') 
header = map(lambda x: x[0], cursor.description) 
with open('bulk_data.csv', 'w+') as f: 
    f.write('\t'.join(header) + '\n') 
    csv.writer(f, delimiter='\t', quoting=csv.QUOTE_MINIMAL, quotechar='"', lineterminator='\n').writerows(cursor) 

回答

1

簡單的答案是,你不會一行一行地寫這個數據量。您使用COPY批量處理文件。如果您使用Python,則可能需要利用許多Vertica特定項目中的一個,這些項目允許批量導入,例如Spil Games的PyVertica

+0

'COPY'是否支持將數據導出到文件? – Ygg

+0

@Ygg您將使用'vsql'將數據導出到文件 – Kermit

相關問題