如何将 pandas 数据帧写入 Vertica?

How do I write a pandas dataframe to Vertica?

我在 pandas 数据框中有一些数据集,我希望写入 Vertica。我已经使用 vertica_python 库创建了我的 table。将我的数据框写入 Vertica 的最佳方式是什么?

通常在连接到 Vertica 时,您可以使用 Postgresql 作为替代,因为 Vertica 的某些部分最初是基于 Postgresql 的。

from sqlalchemy import create_engine
engine = create_engine('postgresql://user:pass@host:5433/MYDB')
df.to_sql('table_name', engine)

如果这不起作用,您可以试用 vertica-sqlalchemy 包。

此外,根据创建的 SQL(如果 ODBC 驱动程序将 INSERT 转换为 COPY),这可能会非常慢。如果您发现它在数据库中执行大量单独的插入操作,您可能需要切换到 COPY 方法,在该方法中创建字符串和 COPY FROM STDIN 以使其更快。