Java 在Talend Open Studio中计算行数并将结果保存在数组(映射)中

Java 在Talend Open Studio中计算行数并将结果保存在数组(映射)中,java,arrays,talend,Java,Arrays,Talend,我在泰伦德开放工作室有份工作。它应该对过滤后的输入行进行计数,并将其存储在足够的变量中。输入文件是csv。稍后,我使用tMap仅获取所选日期的行: 然后我就被卡住了。我只需要一个数组或数组映射?24小时值为0-23,每次匹配时递增 如何在Talend中实现一个可以在tMap中使用的数组?我可以使用第三方库?或者有其他的方法吗?我想将这些变量值输出到csv。您知道tflowmeter和TFlowmeterCacher的组件吗?我建议您编写一个用户定义的函数,并在tmap中调用它。。像下面这样 pu

我在泰伦德开放工作室有份工作。它应该对过滤后的输入行进行计数,并将其存储在足够的变量中。输入文件是csv。稍后,我使用tMap仅获取所选日期的行:

然后我就被卡住了。我只需要一个数组或数组映射?24小时值为0-23,每次匹配时递增


如何在Talend中实现一个可以在tMap中使用的数组?我可以使用第三方库?或者有其他的方法吗?我想将这些变量值输出到csv。

您知道tflowmeter和TFlowmeterCacher的组件吗?

我建议您编写一个用户定义的函数,并在tmap中调用它。。像下面这样

public static String loop_cntr(Int cntr){

String ARR = "" ;
for(int i=0;i<cntr;i++){
<your logic to build the array>
ARR = ARR + cntr (something like this)
}
return ARR
)
现在,您可以在类似于tMap的loop_cntr20中使用此函数

我假设您知道如何编写自定义函数代码->例程。
请让我知道它是如何进行的。

如果我正确理解您的描述,您希望对所有具有特定小时值的列求和。您可以使用tMap和tAggregateRow的组合

首先,您将定义一个右侧有24列的tMap。行对行,仅当满足条件时才会填写,例如

TalendDate.getPartOfDate("HOUR",row1.Time_Stamp) == 0
进入第0个小时

进入columnHour1等,直到columnHour23


现在连接操作框中的tAggregateRow和sum every hour列。这将导致只有一行包含所有计数小时条目。

为什么标记为java?是java吗?我不确定它是否与java有关……因为talend是基于eclipse构建的,所以我发现问题可能与它有关。这是我在这里的第一个问题,我应该删除标签吗?应该是一个评论!当我不在帖子上的时候,我没有加评论的名声。我试过了,但很混乱,因为流量计和流量计记录器主要用于调试。我读了一些教程,但不知道如何使用。不管怎样,谢谢你的建议。我不太懂Java。事实上,我正在和泰伦德一起学习。不过我听说了你提到的解决方案。谢谢你的回答,很抱歉我没有及时回复。我使用tAgreggate行及其功能输出小时数用户处于活动状态我还使用tMap从时间戳提取日期。我使用tAgreggate行及其功能输出小时数用户处于活动状态我还使用tMap从时间戳提取日期。我被工作流程卡住了,忘了检查stackoverflow。但是你的回答真的很有帮助。最后,我根本没有使用变量。无论如何,谢谢你的回答!我从中学到了,没问题。为了让其他人更快地找到最有用的答案,您可以将其中一个标记为该问题的正确答案,并可能对一些答案进行投票。
TalendDate.getPartOfDate("HOUR",row1.Time_Stamp) == 1