将新列添加到现有 table Pentaho

Add new column to existing table Pentaho

我有一个 table 输入,我需要向其中添加计算,即添加一个新列。我试过:

  1. 做计算然后反馈。很明显,它把新数据粘在了旧数据上。

  2. 进行计算然后反馈但截断table。由于该过程在某个时候卡住了,我假设发生的情况是我正在截断 table 而数据仍在从中提取。

  3. 使用流查找,然后反馈。当然,它也把数据粘在了现有数据之上。
  4. 在我从 table 输入中提取数据的地方使用流查找,进行计算,同时从同一个 table 中提取数据并根据日期和 ID 的唯一组合。并使用 'Update' 步骤。

因为它已经 运行 一段时间了,我很肯定这不是选择,但我用尽了我的选择。

实际上一旦你连接了希望,第一步的结果会自动进入下一步。假设您有 table 输入步骤,然后在创建第 3 列的位置添加计算器。编写逻辑后,右键单击计算器步骤并单击预览,您将获得所有 3 列的结果

您似乎需要使用这个新字段更新您的数据来源 table。使用以字段 A 和 B 作为键的更新步骤。

我想说你的问题不仅仅是在 Pentaho 实现中,在 Pentaho 中到达数据暂存之前你可以做一些事情。

  1. 'Workin Hard' 说你不应该使用相同的 table 是正确的,而是保持输入不变,只需将新值上传/插入到新的 table,不一定每次都是新的 table,但不是 t运行cating 原件,而是 t运行cate staging table (输出table).

  2. 您需要多少个 'new columns'?此 运行 的每次迭代都会在输出中创建一个新列吗?或者你总是有一个 'C' 列,它总是 A+B 或其他一些计算?对不起,这还不清楚。如果是后者,则不需要 Pentaho 进行转换,使用考虑 A+B 的数学或函数更新 'C' 列,这可以在大多数关系 DBMS 中使用简单的 UPDATE 子句直接完成。是的,它可以在 Pentaho 中完成,但是你会投入大量的开销和处理时间。