在 Pentaho 水壶的输出文件名中使用数据库列值

Using a Database column Value in output file name in Pentaho kettle

我希望在输出文件名中使用数据库列值。 例子: select 来自进程的最大值(id); 假设上述查询的结果是 111 -- 希望在输出文件名中使用此值,如下所示。

输出文件名:file_111

我怎样才能在 pentaho kettle 中实现这个? 请指教

请按照以下步骤操作:

第 1 步:Table 输入 :- select max(id) as max_id 来自进程;

第 2 步:修改了 Java 脚本值:- 在这一步中放入下面的代码。

eg:- var dummy= 'C:/Users/Venkatesh/Desktop/file_'+ max_id ;

在底部的相同步骤中添加字段名称是 dummy,类型是 string替换值'Fieldname'或'Rename to'N

第 3 步:文本文件输出:-

    select the **Add filenames to result**
    **file name field** => dummy

最后执行一下,看看结果..

根据您要创建的文件类型,您可以简单地在流中创建一个包含文件名的列,然后使用某些输出步骤提供的 Accept file name from field 函数。例如,文本文件输出确实有这个功能,不幸的是 XML 输出没有。

您可以自己创建文件名,例如使用 javascript 步骤,或将 concat fields 步骤与 Add constants 步骤一起使用。