Моя логика заключается в следующем.Spark streaming gc вопросы настройки
Используйте createDirectStream, чтобы получить тему по типу журнала в Kafka.
После перераспределения журнал обрабатывается с помощью различной обработки.
Создайте единственную строку, используя combByKey для каждого типа журнала (используйте StringBuilder).
И, наконец, сохранить в HDFS по типу журнала.
Есть много операций, которые добавляют строки, поэтому GC происходит часто.
Как лучше настроить GC в этой ситуации?
//////////////////////
Существуют различные логики, но я думаю, что проблема в этом combineByKey.
rdd.combineByKey[StringBuilder](
(s: String) => new StringBuilder(s),
(sb: StringBuilder, s: String) => sb.append(s),
(sb1: StringBuilder, sb2: StringBuilder) => sb1.append(sb2)
).mapValues(_.toString)