小弟不才,最近在学习 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 不同而已呀
1.storm 拓扑结构由三部分组成( worker,executor,task ),worker,executor 是进程和线程比较好理解,这个 task 代表的是什么含义呢?网上的资料说是 spout/bolt 的实例,而且在定义拓扑时,定义 spout/bolt 时,设置 numTask 的数量有什么作用呢?
2.结合官方的入门案例 wordCount 程序,统计单词个数,里面有个分组策略的概念(表示我的 bolt 从哪个源接收数据,接收什么样的数据),案例的第二个 bolt 是统计每个单词出现的次数(从 splitBolt 分词后发送过来的每一个单词,用的是 FieldGrouping 策略,按单词发送),我的想法是:为什么要用这个 FieldGrouping 策略,将同一个单词发送到同一个 task 中去计数?如果我用随机的 shuffleGrouping 策略来计数会有什么问题吗?我感觉只是当前单词处理的 task 不同而已呀