APT_BadAlloc 来自数据阶段的连接阶段

问题描述 投票:0回答:2

有一个处理超过 43000000 行的 ETL 作业,在处理 JOIN 阶段时经常因为 APT_BadAlloc 而失败。这是日志。

Join_Stage,0: terminate called after throwing an instance of 'APT_BadAlloc'
Issuing abort after 1 warnings logged.
Join_Stage,3: Caught exception from runLocally(): APT_Operator::UnControlledTermination: From: UnControlledTermination via exception...
Join_Stage,3: Caught exception from runLocally(): APT_Operator::UnControlledTermination: From: UnControlledTermination via exception...
Join_Stage,3: The runLocally() of the operator failed.
Join_Stage,3: Operator terminated abnormally: runLocally() did not return APT_StatusOk
Join_Stage,0: Internal Error: (shbuf): iomgr/iomgr.C: 2670 

我的问题是关于第一个警告。事件类型为警告,消息 ID 为 IIS-DSEE-USBP-00002。

Join_Stage,0: terminate called after throwing an instance of 'APT_BadAlloc'

出现此警告后,作业已失败,并且经常发生。但是,我无法弄清楚如何解决它。我们团队对此错误的唯一解决方案是至少给予 10 - 15 分钟的休息时间,然后重新启动 ETL 作业。大多数情况下,这是解决问题的有效方法。 然而,这不是一个永久的解决方案,所以我每天都在谷歌搜索,但我根本找不到解决错误的第一步以及如何去做。

我在管理员上查看了APT_DUMP_SCORE目前,它设置为FALSE。顺便说一句,如果我将选项设置为真,在哪里以及如何阅读转储分数报告? 我们的服务器是 linux 服务器,ETL 开发人员不是服务器的系统管理员。 Data Stage Designer(客户端)是否有查看 DUMP SCORE 报告的选项? 我在 IBM 网站上阅读了这份报告。 https://www.ibm.com/docs/en/iis/11.5?topic=flow-apt-dump-score-report 但是,我找不到报告的位置。是否提供工作日志区?

1。记录/查看

2。 APT_DUMP_SCORE 选项

我还看到了一些关于系统缓冲区大小的选项。所有尺寸都有默认值。这是非常重要的设置,所以我不能在这里触摸任何选项。请让我知道如何找出根本原因。

我不是系统管理员。我必须联系可以查看有关数据流中最大行的详细日志文件的其他人。

3。系统缓冲区大小设置

仅供参考。我针对我们的测试服务器单击了“资源估算”菜单。但是估计需要太多资源,所以我无法通过菜单进行估计。

4。 Data Stage Designer 上的资源估算菜单

resources datastage
2个回答
1
投票

DUMP SCORE 将记录到您的工作日志中 - 如您已经提到的链接所示。 您需要检查日志详细信息 - 双击以“main_program”之类的内容开头的条目 - 通常在 jobrun 的前 5 个条目中。 这当然意味着作业需要在您将 APT_DUMP_SCORE 设置为 YES 后运行。

您的主要问题似乎是执行作业时内存不足。添加更多内存或确保在开始运行此作业时并行执行的作业更少。


0
投票

有时设置这些环境变量会有所帮助。 APT_DISABLE_COMBINATION=TRUE 和 APT_DISABLE_FASTALLOC=1

-或- 看来您正在使用 4 个计算节点。您可以尝试使用 2 个播放器。这使用更少的内存,但会更慢。

-或- 另一种选择是 A) 编辑作业设计,以及 B) 打开每个 Join 阶段,并且 C) 在 Advanced 选项卡的 Stage properties 中,将 Execution mode 设置为 Sequential。您的数据集和数据库阶段仍将在所有节点上并行读写,但是当数据发送到 Join 阶段时,它将重新分区到 1 个节点。此策略可节省内存使用量,但可能需要更多时间才能完成。

问候,艾米丽

© www.soinside.com 2019 - 2024. All rights reserved.