Количество разделов, установленных в программе, не совпадает с количеством разделов, отображаемых в веб-интерфейсе spark. - PullRequest
0 голосов
/ 23 декабря 2018

Число разделов, созданных для программы подсчета слов ниже, равно 10, но, насколько я понимаю, если мы установим master («local [2]») при создании объекта sparksession, это означает, что он будет работать локально с 2 ядрами, то есть с 2 разделами

Может кто-нибудь помочь мне, почему мой искровой код создает 10 разделов вместо создания 2.

КОД:

    SparkSession spark = SparkSession.builder().appName("JavaWordCount").master("local[2]").getOrCreate();

    JavaRDD<String> lines = spark.read().textFile(args[0]).javaRDD();

    JavaRDD<String> words = lines.flatMap(s -> Arrays.asList(SPACE.split(s)).iterator());

    JavaPairRDD<String, Double> pairRDD = words.mapToPair(s -> new Tuple2<>(s, 1.0));

ScreenShort of Spark Web UI:

enter image description here

1 Ответ

0 голосов
/ 23 декабря 2018

он будет работать локально с 2 ядрами, то есть с 2 разделами

Это вовсе не значит.Это означает, что Spark может использовать максимум 2 потока для обработки данных.Но за редкими исключениями (например, parallelize) это никак не связано с количеством используемых разделов.

В таком простом конвейере количество разделов будет зависеть от значения spark.sql.files.maxPartitionBytes параметра .

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