Apache storm Apache风暴场分组计算

Apache storm Apache风暴场分组计算,apache-storm,Apache Storm,我在Storm用户组中问了这个问题,但还没有得到回复,所以我决定在这里问。我已经找到了代码,以及许多关于如何计算taskIndex的引用,但是当我尝试使用以下内容时,我没有得到与Storm拓扑相同的结果。我也看到过不止一个帖子,其他人也有同样的报道 问题是: 你好, 我尝试使用下面的信息生成散列,修改它,然后依次计算正确的消费目的地任务索引,但没有成功。我在互联网上搜寻了一个这种手工计算的例子,结果却一无所获。我手上一定少了什么东西,所以我希望名单上的人能帮我 我将字段分组如下: .fields

我在Storm用户组中问了这个问题,但还没有得到回复,所以我决定在这里问。我已经找到了代码,以及许多关于如何计算taskIndex的引用,但是当我尝试使用以下内容时,我没有得到与Storm拓扑相同的结果。我也看到过不止一个帖子,其他人也有同样的报道

问题是:

你好,

我尝试使用下面的信息生成散列,修改它,然后依次计算正确的消费目的地任务索引,但没有成功。我在互联网上搜寻了一个这种手工计算的例子,结果却一无所获。我手上一定少了什么东西,所以我希望名单上的人能帮我

我将字段分组如下:

.fieldsGrouping(EXAMPLE_BOLT, EXAMPLE_BOLT_STREAM, new Fields(TopologyConstants.EXAMPLE_FIELD_GROUPING_ID)) int numberOfConsumingTasks = x; Integer EXAMPLE_FIELD_GROUPING_ID_VALUE = y; ArrayList alist = new ArrayList(); alist.add(EXAMPLE_FIELD_GROUPING_ID_VALUE); int hashCode = Arrays.deepHashCode(alist.toArray()); int targetTaskIndex = Math.abs(hashCode) % numberOfConsumingTasks; .Fields分组(示例\螺栓、示例\螺栓\流、新字段(TopologyConstants.示例\字段\分组\ ID)) 我的示例_BOLT发射如下所示:

collector.emit(TopologyConstants.EXAMPLE_BOLT_STREAM, new Values(EXAMPLE_FIELD_GROUPING_ID_VALUE, EXAMPLE_DATA_INSTANCE)); emit(TopologyConstants.EXAMPLE_BOLT_STREAM,新值(EXAMPLE_FIELD_GROUPING_ID_VALUE,EXAMPLE_DATA_INSTANCE)); 我按如下方式进行计算:

.fieldsGrouping(EXAMPLE_BOLT, EXAMPLE_BOLT_STREAM, new Fields(TopologyConstants.EXAMPLE_FIELD_GROUPING_ID)) int numberOfConsumingTasks = x; Integer EXAMPLE_FIELD_GROUPING_ID_VALUE = y; ArrayList alist = new ArrayList(); alist.add(EXAMPLE_FIELD_GROUPING_ID_VALUE); int hashCode = Arrays.deepHashCode(alist.toArray()); int targetTaskIndex = Math.abs(hashCode) % numberOfConsumingTasks; int numberOfConsumingTasks=x; 整数示例\字段\分组\ ID \值=y; ArrayList alist=新的ArrayList(); 添加(示例\字段\分组\ ID \值); int hashCode=Arrays.deepHashCode(alist.toArray()); int targetTaskIndex=Math.abs(hashCode)%numberOfConsumingTasks; 当我使用拓扑中的实际值时,此计算得到的targetTaskIndex值与Storm生成的值不匹配。 有人能告诉我我做错了什么吗? 谢谢


奥布里

我忘了补充说我正在使用Storm 1.0.1。