My Spark应用程序将文件夹作为包含大量文本文件的输入。如何以编程方式获取每个输入拆分的文件名?
答案 0 :(得分:0)
试试吧。这对我有用。希望它会对你有所帮助。
val data = sc.wholeTextFiles("hdfs://master:port/vijay/mywordcount/")
val files = data.map { case (filename, content) => filename}
files.collect.foreach( filename => {
doSomething(filename) // or print file name
})
答案 1 :(得分:0)
通常,您无法检索发起输入的文件名。
但是,如果您使用Hadoop HDFS FileSystem api,则可以列出目录的内容。并遍历所有文件。
但这不再是纯粹的火花计划了。它取决于所使用的存储层(HDFS,amazon s3等)。