前言:此博客主要用来记录开发Kettle的过程中遇到的一些坑与异常信息,并记录对其分析的过程。
在对输入流中的字符串进行处理,并放入输出流时,使用了以下代码
//从输入流中读取一行 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);