如何避免Apache光束中与GC相关的异常或与内存相关的异常

时间:2018-12-19 09:22:38

标签: java apache-spark memory-management batch-processing apache-beam

当我运行包含JDBC源和“排序转换”的管道时,以后的结果存储在其他数据库中。该管道对于较小的数据集可以正确执行,但问题是当考虑5L的7列记录时,它显示 GC-Exception 没有内存可处理和一些相关的异常

我使用Apache Spark作为运行程序,并且在Direct(local-runner)和Spark(Apache Spark Runner)中进行的测试在这2种情况下也得到了相同的响应

我需要建议如何避免与内存相关的异常

  • 我们可以批量处理数据吗?如果是,如何实现,在这种情况下,我们将获得多个输出而不是单个输出如何处理

  • 还是在Runner级别(在工作分配时)需要配置(例如Core,Spark中的Executor)?如果是的话,他们是什么?

  • 或者应该配置Java堆内存,因为我也看到了Java堆内存异常

首先抛出 GC异常,因为没有内存要处理,因为对于排序类型转换,需要大的内存来处理数据

0 个答案:

没有答案