手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

Strom处理实时数据流程详解(Spout、Bolt)

时间:2024-10-11 22:42:01

1、首先还是需要我尺攵跋赈们的maven工程,配置好我们的pom.xml,来加载Storm需要的jar包,如下图所示,另外还要注意如果您没有vpn这么方便的东西的话,maven中还需要用mirror 镜像的办法来下载我们所需要的jar包。

Strom处理实时数据流程详解(Spout、Bolt)
Strom处理实时数据流程详解(Spout、Bolt)

2、然后我们就可以开始写我们的主函数,很多教学网站都会让大家先去写spout、bolt,仿佛最后才给大家看main函数是怎么写的,可是其实最主要的业务逻辑关系是在主函数里面的显示的,下面就让我带着大家一起来看看我们的主函数。

Strom处理实时数据流程详解(Spout、Bolt)

3、我们嚼但匙噻首先可以看到在我们的topology中有一个spout以及三个bolt,他们的关系如下图所示:我们可以看到,我们的spout作为唯一的spout,它也仅仅运行了一个输出线程,之后的SPLIT_BOLT是通过均匀分配,分配到四个处理器里面去,然后进行word关键词的分配,导入到COUNT_BOLT里面进行计数,最后技术的结果归总到我们的REPORT_BOLT中完成整个流程的操作。

Strom处理实时数据流程详解(Spout、Bolt)
Strom处理实时数据流程详解(Spout、Bolt)

4、下面我们来看一下Spout,如下图所示,实际上就是一段文字的循环发送模式。

Strom处理实时数据流程详解(Spout、Bolt)
Strom处理实时数据流程详解(Spout、Bolt)

5、然后是我们的split以及其他的bolt,这些bolt都比较简短并且容易理解,无非就是我们的不同功能而已,分解字符串,处理字符,并计数,统一输出,这样子的。

Strom处理实时数据流程详解(Spout、Bolt)
Strom处理实时数据流程详解(Spout、Bolt)

6、最后,我们一定要注意,在spout的线程中一定要注意谨慎的设置为2,如果输出较多,可能会出现一个任务,多个线程都在处理的情况。导致重复计数

© 手抄报圈