0
我一直试图在火花独立的一个简单的wordcount应用程序。 我有1个Windows机器和1个Linux机器, Windows运行主机&奴隶 Linux运行从机。火花独立无hdfs
连接非常简单。 我尽量避免使用hdfs,但我确实想在集群上工作。 到目前为止我的代码是:
String fileName = "full path at client";
File file = new File(fileName);
Path filePath = new Path(file);
String uri= filePath.toURI().toString();
SparkConf conf = new sparkConf().setAppName("stam").setMaster("spark://192.168.15.17:7077").setJars(new String[] { ..,.. });
sc = new JavaSparkContext(conf);
sc.addFile(uri);
JavaRDD<String> textFile = sc.textFile(SparkFiles.get(getOnlyFileName(fileName))).cache();
这种失败
输入路径不存在:........ 或 java.net.URISyntaxException:绝对相对路径URI
要看什么我尝试,错误的是从Linux从
任何想法,如果这可能吗? 该文件正被复制到所有从属工作目录。 请帮忙
你能打印uri的内容吗?它是以file:///开头的吗? – urug
另外,你确定两台机器都能够使用你提供'textFile'的路径来访问文件吗? – climbage
这就是问题所在,我找不到文本文件方法的正确输入!,我刚刚通过addFile添加了文件,而SparkFiles.get只返回原始驱动程序机器(OS窗口)的路径。我知道文件已经发送到执行器的workDir中的文件目录,为什么路径不是相对的?或者为什么我不能使用%workFiles%文件名,或者其他什么。 – minsky