我正在使用Ignite教程代码(下面的链接),但是我想修改它以便它对不同类型的数据进行操作并且计数以不同方式完成 - 而不是将计数器递增1我想要添加当前值
所以,让我们假设我在不同的文档中出现了某个单词的数量,所以让我们假设我有这样的东西:
'所述' 6586
'所述' 925
所以我希望Cache能够成立 '所述' 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));
我希望将值传递给stmr.receiver()方法,这样我就可以将它添加到 val 。
我甚至尝试在StreamWords中创建一个存储值的类变量,但该值不会更新,而在stmr.receiver()中它仍为0(初始化)。
链接到教程: Word Count Ignite Example
答案 0 :(得分:0)
我设法搞清楚了。在stmr.receiver()中,arg实际上是我想要插入的值,所以只需将其转换为您想要的对象,您就应该能够获得该值。