/ / Различни изходи на брой дялове в искра - scala, apache-spark, apache-spark-standalone

Различни изходи на брой дялове в искра - скала, apache-spark, apache-spark-standalone

Аз стартирам искровия код в локалната си машина и клъстер.

Създавам SparkContext обект за локална машина със следния код:

val sc = new SparkContext("local[*]", "Trial")

Създавам обект SparkContext за клъстер със следния код:

val spark = SparkSession.builder.appName(args(0)+" "+args(1)).getOrCreate()
val sc = spark.sparkContext

и зададох броя на дяла като 4 за локална машина и клъстер със следния код

val dataset = sc.textFile("Dataset.txt", 4)

В моя клъстер създадох 5 работници. Единият от тях е възел за драйвери, останалите работят като работници.

Очаквам резултатите да бъдат същите. Въпреки това резултатите от две части, които са локални и клъстерни, са различни. Какви са причините за проблема?

Отговори:

0 за отговор № 1

Създавам SparkContext обект за локална машина със следния код

и

Създавам обект SparkContext за клъстер със следния код:

То появява се може да сте дефинирали две различни среди за sc и spark както дефинирате local[*] изрично за sc докато приемате стойност по подразбиране за spark (които могат да четат външни конфигурационни файлове или да вземат т.нар. главен URL адрес от spark-submit).

тези може да бъде различно може засягате това, което използвате.

Очаквам резултатите да бъдат същите. Въпреки това резултатите от две части, които са локални и клъстерни, са различни. Какви са причините за проблема?

Dataset.txt процес в местни срещу клъстер среди саразлична и следователно разликата в резултатите. Силно препоръчвам да използвате HDFS или друга споделена файлова система, за да избегнете такива "изненади" в бъдеще.