0

我想使用snakebite检查hdfs目录中是否存在文件,如果不存在则创建。我正在关注touchz 此处的文档并像这样使用它:

def createFile(client):
    if client.test("/user/test/sample.txt", exists=True):
        print "file exists"
    else:
        print "file not exist, create file"
        print client.touchz(["/user/test/sample.txt"])

client = Client(remote_host, 8020, use_trash=False)        
createFile(client)

但是当我去检查时,我没有看到sample.txt in remote_host:/user/test/ But I see the file when I usedhadoop fs -touchz remote_host:/user/test/sample.txt

如何使用蛇咬的touchz

4

1 回答 1

1

snakebite 会touchz产生一个生成器,它在您迭代这些值之前不会执行任何操作。

所以你要么必须遍历它的返回值,touchz要么调用list()它。

于 2017-06-08T22:29:41.457 回答