Pentaho 使用Kettle中的参数重命名字段

Pentaho 使用Kettle中的参数重命名字段,pentaho,kettle,Pentaho,Kettle,我正在进行一个从数据库表获取数据的转换。在表输入步骤之后,我想将主键字段重命名为“primaryKey”。获取主键字段名称的唯一方法是通过参数${primaryKeyName}。如何将参数${primaryKeyName}中保存的字段重命名为primaryKey 我尝试了一个选择值步骤,但它会按字面意思使用${primaryKeyName},而不是获取${primaryKeyName}的值。除非: 选项a)编写自己的用户定义Java类,获取变量名,并直接在Java中重命名字段 选项b)使用元数据

我正在进行一个从数据库表获取数据的转换。在表输入步骤之后,我想将主键字段重命名为“primaryKey”。获取主键字段名称的唯一方法是通过参数${primaryKeyName}。如何将参数${primaryKeyName}中保存的字段重命名为primaryKey


我尝试了一个选择值步骤,但它会按字面意思使用${primaryKeyName},而不是获取${primaryKeyName}的值。

除非:

选项a)编写自己的用户定义Java类,获取变量名,并直接在Java中重命名字段

选项b)使用元数据注入操作模板转换:在内部/模板转换中使用选择值步骤,让外部转换获取变量的值,并使用它将元数据注入选择值步骤


选项c)这似乎很明显,但您不能在SQL查询中使用别名吗?

我认为如果您重命名输入步骤中已经存在的字段,可能会起作用。请给我一张你工作的截图好吗?选项a是我的选择。我不确定选项b如何工作。选项c不是选项,因为它是“选择*”查询。我不知道如何在select*中使用别名。我在运行时只知道主键名,我对选项c也有同样的想象。至于b,请观看以下视频: