是否可以在spark中使用SFTP读取文件?
我尝试使用val df = sc.textFile("sftp://user:password@host/home/user/sample.csv")
但是得到以下错误
scala> df.count
java.io.IOException: No FileSystem for scheme: sftp
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2584)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2591)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:91)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2630)
有没有办法在spark中使用sftp读取文件?
答案 0 :(得分:1)
此时看起来不可能(Spark 1.6,最大配置文件hadoop-2.6)。 SFTP支持将在Hadoop 2.8中引入(参见HADOOP-5732)。
答案 1 :(得分:1)
我们已经创建了一个非常简单的火花SFTP连接器来实现这一目标。
这是github链接https://github.com/springml/spark-sftp
它也已发布到spark-packages。 http://spark-packages.org/package/springml/spark-sftp