【问题标题】:Store a sql query result in pentaho variable在 pentaho 变量中存储一个 sql 查询结果
【发布时间】:2016-06-21 06:02:02
【问题描述】:

我是 PDI 的新手(从 SSIS 传递),我在处理变量问题时遇到了一些麻烦。

我想执行此操作: 从 sql 选择查询中,我想将结果保存到变量中。 由于这个原因,我创建了一个作业和两个转换,因为在 pentaho 中每个步骤都是并行执行的。

第一个转换将负责设置变量,第二个转换将使用此结果作为输入。 但是在第一次转换中,我在设置变量时遇到了麻烦,我不明白我必须在哪里实例化这个变量来实现“设置季节变量”步骤。以及如何在下一次变换中得到这个结果。

如果有人知道这一点,或者如果您能推荐任何带有好例子的链接,我将不胜感激。

【问题讨论】:

    标签: mysql variables select pentaho


    【解决方案1】:

    这确实会让 SSIS 用户感到困惑。在 PDI 中,您不会像在 SSIS 中那样创建记录集变量。只需创建一份工作即可为您创建一份工作。每个作业都有两种不同类型的“结果”。一个用于记录集行,一个用于文件名。

    这些变量不能直接访问;他们只是工作的一部分。有一些步骤可以直接与它们交互。例如,当您创建转换时,在“作业”分支下,有一个Get rows from results 步骤和一个Copy rows to results 步骤。他们直接处理作业的行结果。

    请注意,您必须手动管理结果的元数据。这很痛苦,但总的来说,我发现 PDI 的方法比 SSIS 更直观、更容易。我发现 SSIS 在这方面更灵活。

    还有Get files from resultSet files in result。这些与作业的内置文件结果交互。这只是作业中配置的任何步骤所涉及的每个文件的列表。在作业选项卡上有直接处理它的任务,例如Process result filenamesAdd filenames to resultDelete filenames from results。这些任务对作业的内置文件结果列表进行操作,并提供一种简单的方法来归档您刚刚运行的转换加载的所有文件。

    使用这些步骤时请注意,它们会记录作业中每个步骤所触及的每个文件。如果您查看处理文件的转换(数据流)中的大多数步骤,通常会默认选中“将文件添加到结果”复选框。如果取消选中此项,它不会将文件名添加到作业文件结果中。您还可以使用Delete filenames from result 步骤从文件结果中删除特定文件。

    【讨论】:

      【解决方案2】:

      从你的工作,开始一个转型:

      将转换变量重载到工作中的全局变量中并使用它:

      【讨论】:

        猜你喜欢
        • 2012-03-13
        • 1970-01-01
        • 2023-03-13
        • 1970-01-01
        • 1970-01-01
        • 2014-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多