基本上我想做的是,
我有CSV文件,包含10,000行,我想插入数据库。当我开始转换时,我想在4500行之后开始插入数据库。 所以我想要我指定的技能行数。
我怎样才能实现这一目标? 任何帮助都会很棒。
图像描述:我只是创建一个从csv读取数据并写入数据库的转换。我不知道哪一步可以帮助我实现这一目标。
答案 0 :(得分:0)
我还没有找到计算已处理行数的步骤,但您可以使用" User Defined Java Class"步骤计算行号并使用以下代码删除第一个4500:
// This will be the counter.
Long rowCount;
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException
{
if (first) {
rowCount = 0l;
first=false;
}
Object[] r = getRow();
if (r == null) {
setOutputDone();
return false;
}
// Increment of the counter.
rowCount++;
// Check ouf the counter. Doesn't output the current row if it's less than 4501.
if (rowCount>4500l) {
Object[] outputRow = createOutputRow(r, data.outputRowMeta.size());
// Adds the row count to a stream field.
get(Fields.Out, "Count").setValue(outputRow, rowCount);
putRow(data.outputRowMeta, outputRow);
}
return true;
}
答案 1 :(得分:0)