Pentaho Kettle改造中如何创建值Buffer

How to create value Buffer in Pentaho Kettle Transformation

随着时间的推移(流)和一些不同的行,我有一些值需要作为一行处理。

传入的数据看起来像这样:

|timestamp   |temp|otherStuff|
|------------|----|----------|
|...         |    |other     |
|04:20:00.321|19.0|other     |
|04:20:01.123|20.5|other     |
|04:20:02.321|22.5|other     |
|04:20:03.234|25.5|other     |
|04:20:04.345|23.5|other     |
|...(new data coming in)     |

我需要的可能是这样的:

|val0|val1|val2|...|valN  |
|----|----|----|   |------|
|... create new row,      |
|as new data arrives      |
|23.5|25.5|23.5|...|valN  |
|25.5|22.5|20.5|...|valN-1|
|22.5|20.5|19.0|...|valN-2|

没找到用kettle解决这个问题的好方法。我还在使用数据服务(基本上是一个数据库,具有预定义数量的行,一旦新数据集到达就会刷新)以与第一个示例中显示的方式相同的方式保存数据。

这意味着我也可以使用 SQL 翻转 table(我也不知道该怎么做)。它不会像使用水壶那样干净,但它可以解决问题。

为了更好的理解,再举一个例子:这是进来的:

我需要将我的数据转换为:

有什么好的方法可以做到这一点吗?

干杯。

谢谢@jxc,

Analytic Query 步骤成功了。

这是我如何操作的屏幕截图。

如@jxc 所述,您必须

Add N+1 fields with Subject = temp, Type = Lag N rows BACKWARD in get Subject and N from 0 to N

(温度 = Value 在我的例子中)