Scala&;DataBricks:获取文件列表

Scala&;DataBricks:获取文件列表,scala,apache-spark,amazon-s3,databricks,Scala,Apache Spark,Amazon S3,Databricks,我试图在Scala中的Databricks上创建一个S3存储桶中的文件列表,然后用正则表达式进行拆分。我对斯卡拉很陌生。python的等价物是 all_files = map(lambda x: x.path, dbutils.fs.ls(folder)) filtered_files = filter(lambda name: True if pattern.match(name) else False, all_files) 但我想在Scala做这件事 从 但是,这会生成一个空列表 我也想

我试图在Scala中的Databricks上创建一个S3存储桶中的文件列表,然后用正则表达式进行拆分。我对斯卡拉很陌生。python的等价物是

all_files = map(lambda x: x.path, dbutils.fs.ls(folder))
filtered_files = filter(lambda name: True if pattern.match(name) else False, all_files)
但我想在Scala做这件事

但是,这会生成一个空列表

我也想到了

var all_files: List[Any] = List(dbutils.fs.ls("s3://bucket"))
但这会产生一个列表,如(长度为1)

它的长度为1。我无法将其转换为数据帧,正如本文所建议的,它是不可用的

如何在Scala中生成文件列表,然后遍历它们?

您应该执行以下操作:

val name : String = ???   
val all_files : Seq[String] = dbutils.fs.ls("s3://bucket").map(_.path).filter(_.matches(name))

非常感谢。顺便问一下,你把这个叫做什么?它似乎是一个默认输入,类似于Perl的
$\uuu
all_files: List[Any] = List(WrappedArray(FileInfo(s3://bucket/.internal_name.pl.swp, .internal_name.pl.swp, 12288), FileInfo(s3://bucket/file0, 10223616), FileInfo(s3://bucket/, file1, 0), ....)
val name : String = ???   
val all_files : Seq[String] = dbutils.fs.ls("s3://bucket").map(_.path).filter(_.matches(name))