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

时间:2017-02-04 14:18:41

标签: java talend

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

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

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

我当然不能使用组件名称来获取引用:

System.out.println(tHashOutput_1);

2 个答案:

答案 0 :(得分:0)

您需要将tHashOutputtHashInput相关联,然后才能访问数据。

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

enter image description here

然后我将其链接到tHashInput,将其输出发送到tJavaRow。在我的例子中,我只是将值粘贴到GlobalMap对象中。这是一个简单的例子,涉及一行,但是你应该能够根据自己的情况使用变形来获得基本技术。
enter image description here

答案 1 :(得分:0)

存储在structure(list(Crop = c("agouti", "beans", "beans", "chayote", "chayote", "chives", "chives", "chiwa squash", "chiwa squash", "cilantro", "cilantro", "corn", "corn", "epazote", "epazote", "flower chiwa squash", "jicama", "llame", "macal", "macal", "mustard", "onion", "paca", "papaya", "papaya", "pineapple", "pineapple", "plantain", "plantain", "red onion", "red onion", "scallions", "scallions", "solanum americanum ", "solanum americanum ", "sugar cane", "sugar cane", "sweet potato", "sweet potato", "tomato", "tomato", "watermelon", "yam", "yam", "yuca", "yuca"), kg = c(5, 21, 25, 100, 246.5, 26, 50, 116, 158, 2, 303.83, 505, 927, 0.05, 0.35, 4, 3, 8, 29, 49, 1, 3, 34, 14, 155, 6.5, 7.5, 407, 717, 29, 318, 10, 14, 12, 17, 99, 237, 50, 98, 68, 111.5, 12, 8, 25, 121, 191 )), .Names = c("Crop", "kg"), row.names = c(NA, -46L), class = "data.frame") 中的数据只能由tHashOutput组件访问。通过tHashInput组件读取数据后,您可以使用tHashInput组件迭代行,但不能使用tJavaRow,因为任何以tJava为后缀的组件都是为每一行执行。