df.write
.option("numPartitions",partions)
.option("batchsize",batchsize)
.jdbc(url=url, table="table_name", mode=append, properties=properties)
这个工作得很好,但是我想与“复制”命令比较性能
尝试了以下操作:
output = io.StringIO()
csv_new.write
.format("csv")
.option("header", "true")
.save(path=output)
output.seek(0)
contents = output.getvalue()
cursor.copy_from(output, 'tb_pivot_table', null="") \\using psycopg2
con_bb.commit()
这似乎无法正常运行,出现了错误 'type' object is not iterable
在Pandas数据框中工作得很好
output= io.StringIO()
df.to_csv(path_or_buf=output,sep='\t', header=False, index=False)
output.seek(0)
contents = output.getvalue()
cursor.copy_from(output, 'tb_ts_devicedatacollection_aggregate', null="")
con_bb.commit()
有没有关于如何在Pyspark中实现与Pandas相当的功能的线索。 顺便说一下:性能至关重要,因此将spark df转换为Pandas df不是一个选项。 任何帮助都将不胜感激。