Apache spark 从嵌套目录结构将多个avro文件读入RDD

Apache spark 从嵌套目录结构将多个avro文件读入RDD,apache-spark,avro,Apache Spark,Avro,假设我有一个目录,其中包含一堆avro文件,我想一次性读取它们。这个代码很好用 val path = "hdfs:///path/to/your/avro/folder" val avroRDD = sc.hadoopFile[AvroWrapper[GenericRecord], NullWritable, AvroInputFormat[GenericRecord]](path) 但是,如果文件夹包含子文件夹,并且avro文件位于子文件夹中。然后我得到一个错误 5/10/30 14:57:

假设我有一个目录,其中包含一堆avro文件,我想一次性读取它们。这个代码很好用

val path = "hdfs:///path/to/your/avro/folder"
val avroRDD = sc.hadoopFile[AvroWrapper[GenericRecord], NullWritable, AvroInputFormat[GenericRecord]](path)
但是,如果文件夹包含子文件夹,并且avro文件位于子文件夹中。然后我得到一个错误

5/10/30 14:57:47 WARN TaskSetManager: Lost task 0.0 in stage 1.0 (TID 6, 
hadoop1): java.io.FileNotFoundException: Path is not a file: /folder/subfolder
我是否可以将所有avros(甚至在子目录中)读入RDD

所有avros都有相同的模式,我使用的是spark 1.3.0

编辑::

根据下面的建议,我在spark shell中执行了这一行

sc.hadoopConfiguration.set("mapreduce.input.fileinputformat.input.dir.recursive","true")

这就解决了问题。。。。但是现在我的代码非常慢,我不明白mapreduce设置与spark有什么关系。

应该会有帮助。这只是一个输入配置问题。这一行解决了问题
sc.hadoopConfiguration.set(“mapreduce.input.fileinputformat.input.dir.recursive”,“true”)
但现在我不清楚spark与mapreduce设置有什么关系