将 csv 文件加载到 Vertica 时如何使上传异常?

How can to make upload exception while loading csv file to Vertica?

目前我使用此脚本将 csv 文件加载到 Vertica

connection = vertica_python.connect(**conn_info)
cursor = connection.cursor()
with open("C:\DataBases\csv\%s_%s.csv" % (FILE_NAME, TABLE_NAME), "rb") as fs:
my_file = fs.read()
cursor.copy("COPY %s.%s from stdin PARSER fcsvparser(type='traditional', delimiter=';', record_terminator='\n',)" %(SCHEMA_NAME, TABLE_NAME), my_file)
connection.commit()
connection.close()

但是这个变体没有显示异常。

我想将执行文件上传到文件中,但是我 运行 这个脚本不在 vertica 服务器上,在我的本地服务器上。

如何解决这个问题?

您可以使用 REJECTED DATA AS TABLE 选项,然后查询 table。 您也可以使用 NO COMMIT 选项强制 Vertica 创建 table as temp table

像这样:

my_file = fs.read()
cursor.copy("COPY t from stdin rejected data as table t_rej direct NO COMMIT", my_file)
cursor.execute("SELECT * FROM t_rej ")
for row in cursor.iterate():
    print(row)
# do something
connection.commit()
# t_rej automatic removed by vertica
connection.close()