在IBM Streams中处理大型XML文件时,XML Parse运算符会引发错误

时间:2018-03-30 18:48:18

标签: infosphere-spl ibm-streams

XML Parse运算符在处理大型XML文件时抛出此错误: XML解析期间发生以下错误:内部错误:巨大的输入查找

虽然文档说这已在Streams 4.2.1.3中修复,我们可以将此参数添加到XML Parse运算符来修复它: xmlParseHuge:true;

较低版本的Streams不支持上述参数。我如何在Streams 4.2.1.1中解决这个问题?

2 个答案:

答案 0 :(得分:0)

如果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

答案 1 :(得分:0)

在Streams 4.2.1.1中没有更好的方法 我最终决定使用拓扑工具包来创建一个Python运算符。 XML元组通过此运算符传递,xml.etree.ElementTree库用于解析XML,提取所需数据并返回元组类型。