datastage错误之Consumed more than 100,000 bytes looking for record delimiter; aborting

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bfhai/article/details/84193516

在这里插入图片描述

在DataStage处理比较大的列时,您可能看到的上图的错误消息“Consumed more than 100,000 bytes looking for record delimiter; aborting"

原因:
默认情况下,每个字段的最大长度(以字节为单位)是100,000字节。 其次,DataStage作业需要在单个块中传输每个记录。 块的默认大小为128KB。
可以设置多个环境变量来解决这些问题。

APT_MAX_DELIMITED_READ_SIZE
默认情况下,在读取时,InfoSphere DataStage将提前读取500个字节以获取下一个分隔符。 如果找不到,InfoSphere DataStage将向前看4 * 500 = 2000(1500多个)字节,依此类推(4X)高达100,000字节。 此变量控制上限,默认为100,000字节。
要确定如何设置此变量,如果您的记录小于100000字节,则应该没有问题。
如果您的记录超过100000但小于128000,
设置APT_MAX_DELIMITED_READ_SIZE = 128000。
如果您的记录小于512000字节但超过128000,
设置APT_MAX_DELIMITED_READ_SIZE = 512000。
如果您的记录超过512000字节,
将APT_MAX_DELIMITED_READ_SIZE设置为2048000。

APT_DEFAULT_TRANSPORT_BLOCK_SIZE
设置此环境变量以指定DataStage传输数据的默认块大小。 此环境变量的值需要大于传输的字节数最长的一条记录的值,请设置一个大于您在作业阶段之间传输所需的最大记录的值。 APT_DEFAULT_TRANSPORT_BLOCK_SIZE环境变量值的范围为8192 - 268435456字节(256 MB)。 如有必要,该值将四舍五入为操作大小的最近页面大小。默认值为131072字节。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/bfhai/article/details/84193516