我想检索一个文件列表。我看到一个帖子说这些命令可以完成这项任务:
from hdfs import Config
client = Config().get_client('dev')
client.list('/*')
但实际上,执行失败了:
---------------------------------------------------------------------------
HdfsError Traceback (most recent call last)
<ipython-input-308-ab40dc16879a> in <module>()
----> 1 client = Config().get_client('dev')
/opt/cloudera/extras/anaconda3/lib/python3.5/site-packages/hdfs/config.py in get_client(self, alias)
117 break
118 else:
--> 119 raise HdfsError('Alias %r not found in %r.', alias, self.path)
120 return self._clients[alias]
121
HdfsError: Alias 'dev' not found in '/home/sbenet/.hdfscli.cfg'.
如您所见,它正在尝试访问不存在的文件/home/sbenet/.hdfscli.cfg
。
如果我想使用此方法检索文件列表,我需要修复此.hdfscli.cfg文件问题,或者使用sc
的其他方法。
答案 0 :(得分:0)
您必须先创建配置文件。看看1
[global]
default.alias = dev
[dev.alias]
url = http://dev.namenode:port
user = ann
[prod.alias]
url = http://prod.namenode:port
root = /jobs/