Python 2.7 使用python将gzip文件复制到Vertica
我试图用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
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)也尝试给出分隔符。