Java + Spark WordCount с EMR - PullRequest
       97

Java + Spark WordCount с EMR

0 голосов
/ 08 апреля 2020

Я пытался запустить оценку Pi и пример wordCount , найденный на https://spark.apache.org/examples.html в Java с EMR

Оценка Pi работает нормально, поэтому я предположил, что все настроено правильно. Но я получаю эту ошибку с wordCount:

Exception in thread "main" org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://XXX/user/hadoop/input.txt

Я загрузил свой input.txt и мой jar из s3 перед запуском этой команды:

spark-submit --class "wordCount" --master local[4] Spark05-1.1.jar input.txt

вот мой код WordCount:

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import scala.Tuple2;

import java.util.Arrays;

public final class wordCount {

    public static void main(String[] args) {

        SparkConf sparkConf = new SparkConf().setMaster("local").setAppName("JD Word Counter");

        JavaSparkContext sparkContext = new JavaSparkContext(sparkConf);



        JavaRDD<String> textFile = sparkContext.textFile(args[0]);
        JavaPairRDD<String, Integer> counts = textFile
                .flatMap(s -> Arrays.asList(s.split(" ")).iterator())
                .mapToPair(word -> new Tuple2<>(word, 1))
                .reduceByKey((a, b) -> a + b);
        counts.saveAsTextFile("result.txt");


    }
}

Я что-то не так делаю?

1 Ответ

0 голосов
/ 08 апреля 2020

Если вы не загрузили свой input.txt в hdfs, попробуйте после того, как поместите его в hdfs.

Или попробуйте указать полный путь с префиксом 'file' например) file: // {YOUR_FILE_PATH}.
Я верю в это, потому что в fsdefaultFS из конфигурации config указано 'hdfs'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...