Попытка прочитать файл, расположенный в S3, с использованием искровой оболочки:
scala> val myRdd = sc.textFile("s3n://myBucket/myFile1.log")
lyrics: org.apache.spark.rdd.RDD[String] = s3n://myBucket/myFile1.log MappedRDD[55] at textFile at <console>:12
scala> myRdd.count
java.io.IOException: No FileSystem for scheme: s3n
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2607)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2614)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:91)
... etc ...
Исключение IOException: Нет схемы FileSystem для схемы: s3n произошла с:
- Искры 1.31 или 1.40 на dev машине (нет Hadoop libs)
- Выполняется с Hortonworks Sandbox HDP v2.2.4 (Hadoop 2.60), который интегрирует Spark 1.2.1 из коробки
- Использование схемы s3://или s3n://
В чем причина этой ошибки? Отсутствует зависимость, Отсутствует конфигурация или неправильное использование sc.textFile()
?
Или может быть, это связано с ошибкой, которая влияет на конструкцию Spark, специфичную для Hadoop 2.60, поскольку это сообщение , как представляется. Я собираюсь попробовать Spark для Hadoop 2.40, чтобы убедиться, что это решает проблему.