Python 2.7 使用python将gzip文件复制到Vertica

Python 2.7 使用python将gzip文件复制到Vertica,python-2.7,copy,vertica,Python 2.7,Copy,Vertica,我试图用python脚本将gzip文件复制到Vertica。下面是我的代码 import vertica_python conn_info = {******} connection = vertica_python.connect(**conn_info) cur = connection.cursor() cur.execute("DROP TABLE IF EXISTS home01") cur.execute( "CREATE TABLE home01( ....;") cur.cop

我试图用python脚本将gzip文件复制到Vertica。下面是我的代码

import vertica_python
conn_info = {******}
connection = vertica_python.connect(**conn_info)
cur = connection.cursor()
cur.execute("DROP TABLE IF EXISTS home01")
cur.execute( "CREATE TABLE home01( ....;")

cur.copy("copy home01(path, directories, files, reported_bytes, actual_bytes, path_level) from local '/work/directory.home01.out.gz' GZIP ;")
我在运行脚本时遇到此错误

[root@########]#/pyvertica.py

回溯(最近一次呼叫最后一次):
文件“/pyvertica.py”,第16行,cur.copy(“本地'/work/directory.home01.out.gz'GZIP;”)中的copyhome01(路径、目录、文件、报告的字节、实际字节、路径级))

TypeError:copy()正好接受3个参数(给定2个)


我可以复制相同的文件,如果它解压缩,但与压缩模式,我不能

您不能使用
vertica\u python
复制本地
。最类似的方法是使用
COPY FROM STDIN
,这就是
COPY()
的真正意义所在

import gzip
with gzip.open('/work/directory.home01.out.gz','r') as inf:
    cur.copy("copy home01(path, directories, files, reported_bytes, actual_bytes, path_level) from STDIN", inf)

如果要执行标准的
复制
(从节点),则只需像任何其他查询一样使用
execute()
copy()
是专门为
从STDIN复制而设计的

如果使用相同的命令对同一文件进行解压缩,是否确实可以复制该文件?(当然没有GZIP)也尝试给出分隔符。