尝试使用火花壳阅读位于S3文件:星火使用sc.textFile从S3读取文件(“S3N:// ...)
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异常:没有文件系统的方案:S3N有发生错误:
- 星火1.31或1.40的开发机器上(没有Hadoop的LIBS)
- 从Hortonworks Sandbox HDP v2.2.4(Hadoop的2.60),它集成星火1.2.1开箱运行
- 使用s3://或s3n://方案
这个错误的原因是什么?缺少依赖性,缺少配置或者错误使用sc.textFile()
?
或者这可能是由于一个影响Hadoop 2.60特定的Spark构建的错误,因为这个post似乎暗示。我将尝试使用Spark for Hadoop 2.40来查看是否解决了这个问题。
Spark 1.6.0与Hadoop 2.4为我工作。 Hadoop 2.6的Spark 1.6.0没有。 –
@PriyankDesai对于有相同问题的其他人,请参阅https://issues.apache.org/jira/browse/SPARK-7442以及评论部分中的链接。 – timss
请参阅下面的答案,解释为什么它不适用于Hadoop 2.6版本。 –