Flink файл чтения кучи памяти исключение - PullRequest
0 голосов
/ 23 апреля 2020

Я читаю файл во Флинке как:


   val avroInputFormat =
          new AvroInputFormat[GenericRecord](new org.apache.flink.core.fs.Path(url), classOf[GenericRecord])
        env.createInput(avroInputFormat).collect().asScala.toList

И я сталкиваюсь с исключением:

Исключение java .util.concurrent.ExecutionException: org. apache .flink.runtime.rest.util.RestClientException: [Внутренняя ошибка сервера.,

Увеличение размера кучи не является хорошей идеей. Как изменить этот код, чтобы избежать исключения.

Пожалуйста, помогите мне в оптимизации кода.

1 Ответ

0 голосов
/ 23 апреля 2020

Хорошо, значит, ошибка, которую вы делаете, вызывает метод collect, который получает все элементы из указанного файла на машине для создания List. Итак, у вас, как правило, есть два варианта:

1) Удалите collect, поскольку это, скорее всего, не нужно для вашего удобства, то есть для преобразования файлов и их вывода (согласно комментариям)

2) Если вам действительно нужно это collect по какой-то конкретной причине c, вам следует увеличить кучу, чтобы разрешить сбор файлов, которые вы хотите обработать.

...