Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pydoop cp方法-如何指定关键字参数;“错误”;_Python_Hadoop_Hdfs - Fatal编程技术网

Python pydoop cp方法-如何指定关键字参数;“错误”;

Python pydoop cp方法-如何指定关键字参数;“错误”;,python,hadoop,hdfs,Python,Hadoop,Hdfs,我正在使用pydoop在hdfs位置之间复制文件。pydoop.hdfs.cp(src_hdfs_path,dest_hdfs_path,**kwargs)方法文档位于本页 根据文档,关键字参数与open()函数相同。所以我尝试了以下代码 import pydoop.hdfs as hdfs hdfs.cp(srcpath, destpath, errors='ignore') 如果目标路径中不存在该文件,则该代码有效。否则它会给出一个文件已经存在的错误。换句话说,errors='ignore

我正在使用pydoop在hdfs位置之间复制文件。pydoop.hdfs.cp(src_hdfs_path,dest_hdfs_path,**kwargs)方法文档位于本页

根据文档,关键字参数与open()函数相同。所以我尝试了以下代码

import pydoop.hdfs as hdfs
hdfs.cp(srcpath, destpath, errors='ignore')
如果目标路径中不存在该文件,则该代码有效。否则它会给出一个文件已经存在的错误。换句话说,errors='ignore'参数不起作用

这看起来像是pydoop bug还是我提供了错误的参数

谢谢。

如文档所述

错误是一个可选字符串,用于指定编码和解码的方式 错误将被处理

error='ignore'
仅在读取或写入文件时忽略编码/解码错误


函数抛出了“文件已存在”的错误。

Shiva,感谢您为我指明了正确的方向。我查看了更多文档,其中显示此cp方法确实打开了源文件,因此涉及编码。正如您所解释的,此“errors”参数仅用于编码/解码错误。我对pydoop为什么实现这样的复制方法感到困惑。无论如何,我将使用pydoop软件包提供的其他复制方法,这些方法不涉及打开源文件,并且通过简单地替换现有文件来抑制“文件存在”错误。我使用的复制方法是pydoop.hdfs.hdfs().copy(from_path,to_hdfs,to_path)