python遍历Hdfs的文件和目录,并且返回文件或目录的基本属性,包括创建时间,修改时间,文件或目录标识

使用client.walk()可以遍历hdfs的文件和目录,加上参数status=True可以同时返回这个文件的基本属性,指示这个文件是file还是directory,以及创建日期和修改日期
 
# -*- coding: utf-8 -*-
 
from hdfs import *
import os
from hdfs.ext.avro import AvroReader, AvroWriter
 
def main():
client=Client("http://192.168.56.101:50070")
path = "/home"
for root, dir, files in client.walk(path,status=True):
for file in files:
#full_path = os.path.join(root, file)
print(root)
print(file)
 
main()
 
--返回结果:
 
('/home/test', {u'group': u'supergroup', u'permission': u'755', u'blockSize': 0, u'accessTime': 0, u'pathSuffix': u'', u'modificationTime': 1530603160696L, u'replication': 0, u'length': 0, u'childrenNum': 210, u'owner': u'apuser', u'storagePolicy': 0, u'type': u'DIRECTORY', u'fileId': 16752})
(u'ods_gps.sh20180224095355.sh', {u'group': u'supergroup', u'permission': u'644', u'blockSize': 134217728, u'accessTime': 1530008211494L, u'pathSuffix': u'ods_gps.sh20180224095355.sh', u'modificationTime': 1528799458770L, u'replication': 3, u'length': 1366, u'childrenNum': 0, u'owner': u'apuser', u'storagePolicy': 0, u'type': u'FILE', u'fileId': 30176})
('/home/test', {u'group': u'supergroup', u'permission': u'755', u'blockSize': 0, u'accessTime': 0, u'pathSuffix': u'', u'modificationTime': 1530603160696L, u'replication': 0, u'length': 0, u'childrenNum': 210, u'owner': u'apuser', u'storagePolicy': 0, u'type': u'DIRECTORY', u'fileId': 16752})
(u'risk_platform20180330114834.sh', {u'group': u'supergroup', u'permission': u'644', u'blockSize': 134217728, u'accessTime': 1528799458774L, u'pathSuffix': u'risk_platform20180330114834.sh', u'modificationTime': 1528799458784L, u'replication': 3, u'length': 859, u'childrenNum': 0, u'owner': u'apuser', u'storagePolicy': 0, u'type': u'FILE', u'fileId': 30177})
posted @ 2018-07-14 15:42  翱翔的孤鹰  阅读(3498)  评论(0编辑  收藏  举报