Когда набор данных spark использует функции groupby и pivot, исполнители не работают (добавить комментарий) - PullRequest
0 голосов
/ 28 декабря 2018

Когда я выполняю функции groupby и pivot с помощью Spark (набор данных), исполнители не работают.

Когда я выполняю spark-submit, ошибки нет.Но скорость медленная.Исполнители, которые работали должным образом при выполнении другой работы, кроме функций groupby и pivot (оценка SparkUI как мониторинга).Если я наблюдаю за процессором и памятью, используя top в мастере, то значения процессора и памяти не сильно отличаются от постоянного значения.Это состояние сохраняется до тех пор, пока сводка не завершится, и исполнители снова будут работать при выполнении метода сохранения.

val inputPath="hdfs://master:9000/...csv"
val outputPath="hdfs://master:9000/....csv"
val df=spark.read.option("header","true").csv(inputPath)

val text = df.select(df("text"))
val date = df.select(df("date"))

val text_rdd = text.as(Encoders.STRING).rdd  
val date_rdd = date.as(Encoders.STRING).rdd

val date_text= date_rdd.zip(text_rdd) 

val split_rdd = date_text.flatMapValues(_.split(" ")) 

val date_text_DS=split_rdd.toDS()

val date_text_DS_cols=date_text_DS.withColumnRenamed("_1", "date").withColumnRenamed("_2", "text")   


 date_text_DS_cols.groupBy("date").pivot("text").agg(count("date")).na.fill(0).write.format("com.databricks.spark.csv").option("header",true).save(outputPath)

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

добавить комментарии: enter image description here

Я предполагаю, что сводная работа завершена, когда я вижу эту картинку.Но мастер все еще работает.Возможно, я проверяю, запущена ли программа главного драйвера, но это не так.Поворот завершен, но мастер работает.Я думаю, что это противоречиво.Интересно, задействован ли код записи?Итак, я удаляю коды после «записи».Но это то же самое.

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