1.发现kettle3.2,生成文本文件数据时,不能在每行数据后加分隔符。
2.具体改造了org.pentaho.di.trans.steps.textfileoutput包TextFileOutput类中
private void writeRowToFile(RowMetaInterface rowMeta, Object[] r) throws KettleStepException
{
try
{
if (meta.getOutputFields()==null || meta.getOutputFields().length==0)
{
for (int i=0;i<rowMeta.size();i )
{
if (i>0 && data.binarySeparator.length>0)
{
data.writer.write(data.binarySeparator);
}
ValueMetaInterface v=rowMeta.getValueMeta(i);
Object valueData = r[i];
// no special null value default was specified since no fields are specified at all
// As such, we pass null
//
writeField(v, valueData, null);
// // 数据末尾加特殊字符
// if(i==(rowMeta.size()-1)){
// data.writer.write(data.binarySeparator);
// }
}
data.writer.write(data.binaryNewline);
}
else
{
for (int i=0;i<meta.getOutputFields().length;i )
{
if (i>0 && data.binarySeparator.length>0)
data.writer.write(data.binarySeparator);
ValueMetaInterface v = rowMeta.getValueMeta(data.fieldnrs[i]);
Object valueData = r[data.fieldnrs[i]];
writeField(v, valueData, data.binaryNullValue[i]);
// // 数据末尾加特殊字符
// if(i==(meta.getOutputFields().length-1)){
// data.writer.write(data.binarySeparator);
// }
}
data.writer.write(data.binaryNewline);
}
incrementLinesOutput();
// flush every 4k lines
// if (linesOutput>0 && (linesOutput&0xFFF)==0) data.writer.flush();
}
catch(Exception e)
{
throw new KettleStepException("Error writing line", e);
}
}
分享到:
相关推荐
kettle输出文本文件名设有系统时间组成的动态文件名
kettle文本文件输出文件名为有系统时间组成的动态名
进入指定目录下,获取指定类型文件名,并可以对文件名进行修改,c++代码
http://blog.csdn.net/neweastsun/article/details/52457290;文章的示例程序。
生成 100 个随机数,随机数取值于[0,100)之间, 计算小于等于 50 的随机数个数和 大于50 的随机数个 数。 并把这两个统计数字放在数据库表的一行的两列中, 即输出的结果有一行,一行包括两列,每列是一个统 计值...
一个简单的kettle生成xml例子。 使用xml jion 组件。 用于生成固定格式的xml。
kettle生成经纬度, REST Client、Http Client组件例子
这个kettle 的插件,它可以从一个或多个 PDF 文件中抽取文本内容,抽取后的文本一页作为一行记录,便于后续处理,如写入数据库等等。 帮助手册 http://www.xgndata.com/resources/kettle/PFR_UserGuide_zh_CN.pdf ...
一个简单的例子,使用kettle将文本文件导入到数据库
生成kettle作业的Java代码
只使用kettle工具,生成了一亿条信用证卡号,导入oracle数据库,经测用时30分钟,比较完美的解决了out of memery问题。
我当前调试的是kettle 5.4.0.1版本,修复job中发送邮件时候中文乱码问题: 替换 data-integration\lib\kettle-engine-5.4.0.1-130.jar 这个jar包下 data-integration\lib\kettle-engine-5.4.0.1-130.jar\org\...
kettle中使用js计算两个日期之间的天数
kettle 根据系统时间加正则表达式动态匹配获取多个文本文件
使用kettle生成经纬度信息并落地到文件.rar
使用java,kettle模版生成kettle文件
将字符串型日期型转换成CTime型
kettle转换xml(XML Input Stream (StAX))实例,包含xml和ktr
Kettle根据参数循环调度, 作业名称:总调度-监控数据量 作 者: 鲁班 开发时间:2019.04.03 加载频率:日 加载策略:全量 程序描述:监控数据量
大数据ETL工具Kettle使用教程,中文教程,希望对大家有帮助