如何开始使用pentaho在mysql数据库中插入指定数字后的行?

r6vfmomb  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(298)

基本上我想做的是,
我有一个包含10000行的csv文件,我想把它插入数据库。当我开始转换时,我想在4500行之后开始插入数据库。所以我想知道我指定的行数。
我怎样才能做到这一点?任何帮助都会很好。
图像描述:我只是创建一个转换,从csv读取数据并写入数据库。我不知道哪一步能帮我做到这一点。
注意:我附上了我的简单转换

k4emjkb1

k4emjkb11#

我还没有找到一个计算处理的行数的步骤,但是您可以使用“用户定义的java类”步骤来计算行数并删除前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;
}
tpgth1q7

tpgth1q72#

我用了下面的水壶文件,解决了我的问题。感谢@workinghard..和@jxc

相关问题