Flink文件读取堆内存异常

我在flink中读取一个文件为。


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

我遇到了一个异常:

Exception java.util.concurrent.ExecutionException: org.apache.flink.runtime.rest.util.RestClientException: 内部服务器错误..,

增加堆大小不是一个好主意。如何修改这段代码来避免异常。

请帮我优化一下代码。

解决方案:

好的,所以你的错误在于调用了一个名为 “GenericRecord “的函数。collect 方法,该方法将从机器上给定的文件中获取所有元素,以创建一个包含所有元素的 List. 所以, 你一般有两个选择:

1) 移除 collect 因为对于您的情况来说,这可能是最不需要的,因为您的情况是转换文件并输出它们(按照注释)

2)如果你真的,真的需要这个。collect 出于某些特定的原因,你应该增加堆以便收集你要处理的文件。

给TA打赏
共{{data.count}}人
人已打赏
解决方案

在pivot_longer中,每行有多个观测值时,names_to'.value'的约定如何操作?

2022-5-13 10:00:18

解决方案

如何设置多个嵌套的FragmentContainerViews与各自的导航图?

2022-5-13 10:00:20

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索