我是Apache的新手,并且测试了我的第一个程序。
这是一个2-3行的程序,只是为了测试目的.
我正在使用Eclipse并使用Maven编译java文件。
我试图运行火花-提交,但得到了这个错误。
我不认为这是从文件名或路径。
会不会是另一个问题?
...spark-2.1.0-bin-hadoop2.7\bin>spark-submit --class "Main" --master local[4] "C:\Users\...\target\SparkTest-0.0.1-SNAPSHOT.jar"
文件名、目录名或卷标签语法不正确。
这是主修课
import java.util.Arrays;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.SparkConf;
import org.apache.spark.SparkContext;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.FlatMapFunction;
import org.apache.spark.api.java.function.PairFunction;
public class SparkMain {
public static void main(String[] args) {
SparkConf conf = new SparkConf().setMaster("local").setAppName("My App");
JavaSparkContext sc = new JavaSparkContext(conf);
System.out.println("HELLO");
JavaRDD<String> lines = sc.textFile("C:/spark/spark-2.1.0-bin-hadoop2.7/README.md");
System.out.println(lines.count());
}
}发布于 2017-01-23 23:46:13
您正在将字符串传递给Java程序和Windows机器。
Windows使用反斜杠,需要转义。
我在Mac上,所以这很难测试,但是你可以试试这样的东西。
import java.nio.file.Paths;
...
String fileName = Paths.get("C:", "spark", "spark-2.1.0-bin-hadoop2.7", "README.md").toString()
JavaRDD<String> rdd = sc.textFile(fileName);
System.out.println(rdd.count());如果你想跨平台,那么也许这是
String rootDir = Paths.get(System.getProperty("user.home")).getRoot().toString();
String fileName = Paths.get(rootDir, "spark", ...);
...https://stackoverflow.com/questions/41817643
复制相似问题