簡體   English   中英

Apache Spark提交錯誤

[英]Apache Spark Submit Error

我是Apache Spark的新手,正在測試我的第一個程序。
這是一個2-3行的程序,僅用於測試目的。

我正在使用Eclipse,並使用Maven編譯了Java文件。
我正在嘗試運行spark-submit,但出現此錯誤。

我認為它不是來自文件名或路徑。
可能是另一個問題嗎?

...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());


    }

}

您正在將String傳遞給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", ...);
...

參考: Java Essentials | 路徑操作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM