问题描述
我有一个DynamoDB表,该表具有150万条记录/ 2GB。如何将其导出到S3?
用于执行此操作的AWS数据管道方法可用于一个小表。但是我在将150万张记录表导出到S3时遇到了问题。
在我的初审中,管道工作花了1个小时,但失败了
java.lang.OutOfMemoryError:超出了GC开销限制
我通过遵循this link
向EMR集群内的实例提供hadoop-env配置对象,从而增加了namenode堆的大小。增加堆大小后,我的下一个作业运行尝试在1小时后失败,并出现另一个错误,如所附的屏幕快照所示。我不确定该怎么做才能完全解决此问题。
还要检查EMR集群中实例的AWS Cloudwatch图。核心节点持续以100%的cpu使用率。
EMR群集实例类型(主节点和核心节点)为m3.2xlarge。
解决方法
问题在于maptasks无法有效运行。核心节点的CPU使用率达到100%。我将群集实例类型升级为可用的计算C系列之一,并且导出没有问题。