我正在使用Java将文档索引到solr。当索引计算机中的文件时,我的代码可以正常工作。 但是,当我尝试索引位于alluxio中的文件时,出现了一个异常“没有用于方案的文件系统:alluxio”。我在pom中添加了alluxio依赖项。
代码如下:
public class SparkTestMain {
public static void main(String[] args) {
new SparkRead().loadDocuments(
"alluxio://XXX.XXX.XXX.XX:19998/**/" );
}
}
在SparkRead中,我从文件路径进行索引:JavaRDD文档= sc.textFile(pathToFile),pathToFile =“ alluxio://XXX.XXX.XXX.XX:19998 / ** /”
这是错误:
Exception in thread "main" java.io.IOException: No FileSystem for scheme: http
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2579)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2586)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:89)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2625)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2607)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:368)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:296)
at org.apache.hadoop.mapred.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:256)
at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:228)
at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:313)
at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:200)
...
答案 0 :(得分:0)
这里是Alluxio项目网站上的doc,解释了为什么您可能会看到“没有用于方案的文件系统:alluxio”。
A:当您的应用程序(例如MapReduce, Spark)尝试以兼容HDFS的文件系统访问Alluxio,但是 应用程序无法识别alluxio://方案。请 确保您的HDFS配置文件core-site.xml(默认情况下 hadoop安装或spark / conf /(如果您为此文件自定义) Spark)具有以下属性:
<configuration> <property> <name>fs.alluxio.impl</name> <value>alluxio.hadoop.FileSystem</value> </property> </configuration>
在您发布的错误消息中,我确实看到“没有用于方案的文件系统:http”,而不是“没有用于方案的文件系统:alluxio”。 “ http”是错字吗?