python 读取文件名列表_使用python从HDFS获取文件名列表

这篇博客介绍了如何使用Python的sh包来获取HDFS目录中的文件和子目录列表。通过调用`hdfs dfs -ls`命令并解析输出,可以得到所需的文件名。代码示例展示了如何处理输出,过滤掉非文件项,并提取文件路径。
摘要由CSDN通过智能技术生成

据我所知,没有现成的解决方案,我找到的大多数答案都是通过调用hdfs命令来实现的。我在Linux上运行,也面临同样的挑战。我发现sh包很有用。它处理为您运行o/s命令和管理stdin/out/err。

不是最新的解决方案,但它是一行(ish)并使用标准包。

这是我获取HDFS目录列表的精简代码。它会列出类似的文件和文件夹,因此如果需要区分它们,您可能需要修改它们。import sh

hdfsdir = '/somedirectory'

filelist = [ line.rsplit(None,1)[-1] for line in sh.hdfs('dfs','-ls',hdfsdir).split('\n') if len(line.rsplit(None,1))][1:]

我的输出-在本例中,这些都是目录:[u'/somedirectory/transaction_basket_fct/date_id=2015-01-01',

u'/somedirectory/transaction_basket_fct/date_id=2015-01-02',

u'/somedirectory/transaction_basket_fct/date_id=2015-01-03',

u'/somedirectory/transaction_basket_fct/date_id=2015-01-04',

u'/somedirectory/transaction_basket_fct/date_id=2015-01-05',

u'/somedirectory/transaction_basket_fct/date_id&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值