前言:此博客主要用来记录开发Kettle的过程中遇到的一些坑与异常信息,并记录对其分析的过程。

(1).类型异常(org.pentaho.di.core.exception.KettleValueException)

在对输入流中的字符串进行处理,并放入输出流时,使用了以下代码

    //从输入流中读取一行
    Object[] r = getRow();
    //处理过程略
    ...
    //将其中一个重新赋值(str为String类型)
    r[i] = str;
    //将行放入输出行流
    putRow(data.outputRowMeta, r);

在运行时会出现异常

即使将最后的输出换为JSON或别的形式也会出现相同的异常

Error writing field (0,1) : org.pentaho.di.core.exception.KettleValueException: 
xxx String<binary-string> : There was a data type error: the data type of java.lang.String object [...] does not correspond to value meta [String<binary-string>]

先给出解决方案:将str改为str.getBytes()即可。

    //从输入流中读取一行
    Object[] r = getRow();
    //处理过程略
    ...
    //将其中一个重新赋值(str为String类型)
    r[i] = str.getBytes();
    //将行放入输出行流
    putRow(data.outputRowMeta, r);

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐