flink文件读取堆内存异常

fnatzsnv  于 2021-06-26  发布在  Flink
关注(0)|答案(1)|浏览(328)

我在读Flink的一个文件:

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:[内部服务器错误。,
增加堆大小不是一个好主意。如何更改此代码以避免异常。
请帮我优化代码。

6fe3ivhb

6fe3ivhb1#

好的,所以你犯的错误是调用 collect 方法,该方法将从计算机上的给定文件中获取所有元素以创建 List . 所以,你通常有两个选择:
1) 拆下 collect 因为这是最有可能不需要你的美国ecase,这是转换文件和输出它们(根据评论)
2) 如果你真的,真的需要这个 collect 出于某些特定的原因,应该增加堆以允许收集要处理的文件。

相关问题