如何解决Aws S3 到 Databricks 挂载不起作用
我已经使用挂载命令挂载了“mybucket”,我可以使用以下命令列出所有对象-
%fs
ls /mnt/mybucket/
但是,我在“mybucket”中的文件夹中有文件夹,我想运行以下命令但它不起作用。
%fs
ls /mnt/mybucket/*/*/
非常感谢任何帮助。谢谢
解决方法
dbutils.fs.ls
及其魔法变体 %fs ls
不支持通配符,因此您需要自己遍历文件,如下所示:
def list_files(path,max_level = 1,cur_level=0):
d = dbutils.fs.ls(path)
for i in d:
if i.name.endswith("/") and i.size == 0 and cur_level < (max_level - 1):
yield from list_files(i.path,max_level,cur_level+1)
else:
yield i.path
files = list_files("/mnt/mybucket",1)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。