点燃缓存值总和
Ignite Cache Sum of values
我正在使用 Ignite 教程代码(下面的 link),但我想对其进行修改,以便它对不同类型的数据进行操作并且以不同的方式进行计数 - 而不是将计数器递增 1 I想添加当前值。
所以让我们假设我在不同的文档中出现了某个单词的次数,所以让我们假设我有这样的东西:
'the'6586
'the' 925
所以我想要缓存
'the'7511
鉴于此:
try (Stream<String> lines = Files.lines(path)) {
lines.forEach(line -> {
Stream<String> words = Stream.of(line.split(" "));
List<String> tokens = words.collect(Collectors.toList());
// this is just to emphasize that I want to pass value
Long value = Long.parseLong(tokens.get(1));
stmr.addData(tokens.get(0), Long.parseLong(tokens.get(1));
我想将 value 传递给 stmr.receiver() 方法,这样我就可以将它添加到 val.
我什至尝试在 StreamWords 中创建一个 class 变量来存储该值,但该值没有得到更新,并且在 stmr.receiver() 中它仍然是 0(初始化时) .
Link 到教程:
Word Count Ignite Example
我设法弄明白了。在stmr.receiver()中,arg其实就是我想插入的值,所以只要把它转换成你想要的对象,你应该可以得到值。
我正在使用 Ignite 教程代码(下面的 link),但我想对其进行修改,以便它对不同类型的数据进行操作并且以不同的方式进行计数 - 而不是将计数器递增 1 I想添加当前值。
所以让我们假设我在不同的文档中出现了某个单词的次数,所以让我们假设我有这样的东西:
'the'6586
'the' 925
所以我想要缓存 'the'7511
鉴于此:
try (Stream<String> lines = Files.lines(path)) {
lines.forEach(line -> {
Stream<String> words = Stream.of(line.split(" "));
List<String> tokens = words.collect(Collectors.toList());
// this is just to emphasize that I want to pass value
Long value = Long.parseLong(tokens.get(1));
stmr.addData(tokens.get(0), Long.parseLong(tokens.get(1));
我想将 value 传递给 stmr.receiver() 方法,这样我就可以将它添加到 val.
我什至尝试在 StreamWords 中创建一个 class 变量来存储该值,但该值没有得到更新,并且在 stmr.receiver() 中它仍然是 0(初始化时) .
Link 到教程: Word Count Ignite Example
我设法弄明白了。在stmr.receiver()中,arg其实就是我想插入的值,所以只要把它转换成你想要的对象,你应该可以得到值。