我想用蛇咬来检查hdfs目录中是否存在文件,并创建它是否不存在。我正在关注touchz here的文档,并像这样使用它:

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)

但是当我检查时,在remote_host:/user/test/中看不到sample.txt
但是当我使用hadoop fs -touchz remote_host:/user/test/sample.txt时我看到了文件

如何使用蛇咬的touchz

最佳答案

蛇咬的touchz生成一个生成器,该生成器在迭代这些值之前不会做任何事情。

因此,您要么必须遍历touchz的返回值,要么对其调用list()

08-07 15:29