有关 apache strom 的几个基本概念

2020-06-07 23:10:46 +08:00
 sbt
小弟不才,最近在学习 apache storm 框架,里面有 2 个基本概念理解起来比较吃力,查阅了相关资料,还是看不出个所以然来,想问问各位大佬:
1.storm 拓扑结构由三部分组成( worker,executor,task ),worker,executor 是进程和线程比较好理解,这个 task 代表的是什么含义呢?网上的资料说是 spout/bolt 的实例,而且在定义拓扑时,定义 spout/bolt 时,设置 numTask 的数量有什么作用呢?

2.结合官方的入门案例 wordCount 程序,统计单词个数,里面有个分组策略的概念(表示我的 bolt 从哪个源接收数据,接收什么样的数据),案例的第二个 bolt 是统计每个单词出现的次数(从 splitBolt 分词后发送过来的每一个单词,用的是 FieldGrouping 策略,按单词发送),我的想法是:为什么要用这个 FieldGrouping 策略,将同一个单词发送到同一个 task 中去计数?如果我用随机的 shuffleGrouping 策略来计数会有什么问题吗?我感觉只是当前单词处理的 task 不同而已呀
727 次点击
所在节点    问与答
2 条回复
liprais
2020-06-07 23:42:54 +08:00
2 不就是 sql 里面的 group by
billlee
2020-06-08 01:26:22 +08:00
同一个单词不发到一个 task 里面,那不就每个 task 都记了一部分,这样得不出结果啊
另外 2020 年了,还是学 flink 吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/679516

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX