Spark Структурированная потоковая память - PullRequest
0 голосов
/ 01 мая 2018

Я обрабатываю поток со средней нагрузкой 100 Мбит / с. У меня шесть исполнителей, у каждого из которых выделено 12 Гб памяти. Однако из-за загрузки данных через несколько минут я получаю ошибки Out of Memory (Ошибка 52) в исполнителях искры. Кажется, даже если концептуальный фрейм Spark неограничен , он ограничен общей памятью исполнителя?

Моя идея заключалась в том, чтобы сохранять данные / поток как паркет примерно каждые пять минут. Однако, похоже, что у spark не будет прямого механизма очистки данных после этого?

val out = df.
  writeStream.
  format("parquet").
  option("path", "/applications/data/parquet/customer").
  option("checkpointLocation", "/checkpoints/customer/checkpoint").
  trigger(Trigger.ProcessingTime(300.seconds)).
  outputMode(OutputMode.Append).
  start

1 Ответ

0 голосов
/ 03 мая 2018

Кажется, что нет прямого способа сделать это. Как это противоречит общей модели Spark, что операции могут быть перезапущены в случае сбоя .

Однако я бы разделял то же мнение о комментариях от 08 февраля / 18 13:21 по этому выпуску .

...