XML 在 IBM Streams 中处理大型 XML 文件时解析运算符抛出错误
XML Parse operator throws error when working with large XML file in IBM Streams
XML 解析运算符在处理大型 XML 文件时抛出此错误:
XML 解析期间发生以下错误:内部错误:巨大的输入查找
虽然文档说这已在 Streams 4.2.1.3 中修复,我们可以将此参数添加到 XML Parse 运算符以修复它:
xmlParseHuge: true;
低版本Streams不支持上述参数。我如何在 Streams 4.2.1.1 中修复此问题?
如果 XML 数据来自 FileSource,请尝试使用较小的块大小来解析文件的解决方法:
改成10000u*1024u即可成功完成大XML解析
stream<blob dataBlob,rstring fName> FileLoadedFromFS = FileSource(DirFileScanned){
param format : block;
blockSize : 10000u*1024u;
compression : gzip;
parsing : fast;
output FileLoadedFromFS:
fName = FileName();
}
发件人:http://www-01.ibm.com/support/docview.wss?uid=swg1IT22914
在 Streams 4.2.1.1 中没有更好的方法来做到这一点
我最终决定使用拓扑工具包来制作一个 Python 运算符。 XML 元组通过此运算符传递,xml.etree.ElementTree 库用于解析 XML、提取所需数据并 return 返回元组类型。
XML 解析运算符在处理大型 XML 文件时抛出此错误: XML 解析期间发生以下错误:内部错误:巨大的输入查找
虽然文档说这已在 Streams 4.2.1.3 中修复,我们可以将此参数添加到 XML Parse 运算符以修复它: xmlParseHuge: true;
低版本Streams不支持上述参数。我如何在 Streams 4.2.1.1 中修复此问题?
如果 XML 数据来自 FileSource,请尝试使用较小的块大小来解析文件的解决方法: 改成10000u*1024u即可成功完成大XML解析
stream<blob dataBlob,rstring fName> FileLoadedFromFS = FileSource(DirFileScanned){
param format : block;
blockSize : 10000u*1024u;
compression : gzip;
parsing : fast;
output FileLoadedFromFS:
fName = FileName();
}
发件人:http://www-01.ibm.com/support/docview.wss?uid=swg1IT22914
在 Streams 4.2.1.1 中没有更好的方法来做到这一点 我最终决定使用拓扑工具包来制作一个 Python 运算符。 XML 元组通过此运算符传递,xml.etree.ElementTree 库用于解析 XML、提取所需数据并 return 返回元组类型。