如何使用databricks中的spark获得特定s3位置中列出的所有文件夹的列表



目前,我正在使用这段代码,但它为我提供了指定s3位置的所有文件夹和子文件夹/文件。我只希望s3://production/product/:中存在文件夹的名称

def get_dir_content(ls_path):
  dir_paths = dbutils.fs.ls(ls_path)
  subdir_paths = [get_dir_content(p.path) for p in dir_paths if p.isDir() and p.path != ls_path]
  flat_subdir_paths = [p for subdir in subdir_paths for p in subdir]
  return list(map(lambda p: p.path, dir_paths)) + flat_subdir_paths
    
paths = get_dir_content('s3://production/product/')
[print(p) for p in paths]

当前输出返回所有文件夹和文件所在的子目录,这太多了。我只需要位于指定s3位置的层次级别上的文件夹(没有更深的级别(。我该如何破解此代码?

只需使用dbutils.fs.ls(ls_path)

最新更新