如何在 Talend 的 tJava 组件中迭代 tHashOutput

How to iterate over a tHashOutput in a tJava component in Talend

是否可以在 tJava 中获取对 tHashOutput 组件的引用?

我需要迭代我在 tHashOutput 中积累的数据,所以我可以创建一个与 JFreeChart 库相关的数据集对象。

我希望它只是一个 Map 对象,我可以从 globalMap 中获取它,但这不起作用。

而且我当然不能简单地使用组件名称来获取参考:

System.out.println(tHashOutput_1);

您需要 link 您的 tHashOutputtHashInput,然后您才能访问数据。

在第一张图片中,您可以看到我使用固定流程将值输入 tHashOutput

然后我 link 将其发送到 tHashInput,后者将其输出发送到 tJavaRow。在我的示例中,我只是将值粘贴到 GlobalMap 对象中。这是一个简单的示例,涉及一行,但是既然您已经掌握了基本技术,您应该能够根据自己的情况使用变形。

存储在 tHashOutput 中的数据只能由 tHashInput 组件访问。通过 tHashInput 组件读取数据后,您可以使用 tJavaRow 组件遍历行,但不能使用 tJava,因为任何以单词 row 为后缀的组件都是为每一行执行。