Snakebite HDFS touchz无法正常工作

时间:2016-10-28 14:40:35

标签: python hadoop hdfs snakebite

我想使用snakebite检查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

时,我看到了该文件

如何使用snakebite的touchz

1 个答案:

答案 0 :(得分:1)

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

因此,您必须迭代touchz的返回值或在其上调用list()