转换字段值pentaho(kattle)并将其以标准格式存储在任何表中

时间:2017-06-17 20:34:34

标签: mysql data-warehouse

我想使用name转换字段Datepentaho(kattle)的值,并将其以标准格式存储在任何表格中。

例如

  

ID,名称F_N,日期
  1,j_vick,2015年3月5日
  2,jo_vick,04,08,2016
  3,Arn_jonnn_vick,05,07,2017

现在我想使用pentaho(kattle) IDE对其进行转换,并将其存储在数据库中,如下所示:

  

ID,名称,日期
  1,john_vick 03/05/2015
  2,john_vick,04/08/2016
  3,Arn_john_vick,05/07/2017

我不希望转换步骤与提取数据库存储有关。

1 个答案:

答案 0 :(得分:0)

日期格式只是一些价值的服装。只需用Kettle读取它并按原样存储即可。无论如何,数据库将以适当的内部二进制格式存储它。

除非您必须将其明确存储为varchar。在这种情况下,请使用Metadata步骤的Select Value标签。将您的列定义为Date,并将格式指定为dd/MM/yyyyMM/dd/yyyy。它将作为日期保留在内部,并在最后一刻转换为具有所选格式的字符串。

你还要解决另一个问题:日,月和年分为三列。最简单的方法是使用Modified Java Script Value步骤,在其中定义一个类型为Date的新列date = new Date(year, month, year),并让Kettle处理格式。

也许您有混合输入,在这种情况下,您可以使用FilterSwtich步骤,根据您在日期和月份列中拥有某些内容的天气。

完成后,您可以创建一个在所有表上运行转换的作业。您在Pentaho Data Integrator(aka Kettle)的sample/jobs/process all tables中有一个示例。