这是一个创建于 1583 天前的主题,其中的信息可能已经有所发展或是发生改变。
小弟不才,最近在学习 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 不同而已呀
2 条回复 • 2020-06-08 01:26:22 +08:00
|
|
1
liprais 2020-06-07 23:42:54 +08:00
2 不就是 sql 里面的 group by
|
|
|
2
billlee 2020-06-08 01:26:22 +08:00
同一个单词不发到一个 task 里面,那不就每个 task 都记了一部分,这样得不出结果啊 另外 2020 年了,还是学 flink 吧
|