Журналы Spark появляются только у одного исполнителя, хотя данные перераспределяются - PullRequest
0 голосов
/ 07 мая 2018

Я использую версию spark 2.1.1.и когда я читаю файл в DataFrame и перераспределяю его позже, журналы исполнителя появляются только у одного исполнителя.

Фактический файл имеет только один раздел.Я делю это на 6 разделов.

val df = spark.read.load(<file location>)

val repartitionedDF = df.repartition(6)

У меня 10 рабочих узлов и выделено 6 ядер для приложения spark.Всего у меня 6 исполнителей на 6 машинах.Я делаю некоторый процесс, используя foreachPartition, и веду журнал на некоторых из необходимых шагов.

пример кода.

repartitionedDF.foreachPartition(partition => 
 {
  logger.info("working on partition " + partition.length)
  <some code>
 }
)

Когда я проверил пользовательский интерфейс spark, все журналы появляются только в одном исполнителе, а остальные исполнители не имеют никаких журналов исполнителей информации.

Если я создаю DF, используя список, то журналы появляются на всей машине.Я не мог подтвердить, что работа была разделена между всеми исполнителями или журналирование просто публикуется с окончательным разделом.

Для приведенного ниже кода я мог видеть информацию журнала всех исполнителей в spark UI

val newDF = List(1,2,3,4,5,6).toDF
val partitionedDF2 = newDF.repartition(6)
partitionedDF2.foreachPartition(part => logger.info("part size " + part.length))
...