我在greenplum6中創建了一個存儲過程,使用的是plpythonu擴展語言,我是用以下代碼生成了一個DataFrame:
CREATE OR REPLACE FUNCTION myFunc02()
RETURNS void AS
$$
import pandas as pd
rv = plpy.execute('SELECT * FROM test_py_01')
df = pd.DataFrame(rv[0:])
...DataFrame計算....
for index, row in df.iterrows():
plan = plpy.prepare("insert into test_py_02 values($1,$2,$3)",['int8','text','text'])
plpy.execute(plan, [row.c1,row.c2,row.c3])
$$ LANGUAGE 'plpythonu';
在官網中我只找到plpy.execute可以把單條數據寫入到數據庫表,但是大量數據循環寫入效率太差了,有沒有批量寫入的方法呢?有朋友問為什麼不使用Python腳本,由於一些原因,我只能使用GP的存儲過程編寫plpythonu代碼,而且我希望能使用GP的性能計算能力,希望大家給個思路,先謝謝大家了。