首页 > 其他分享 >第93讲(HelloActor整体介绍):Akka第一个案例动手实战开发消息实体类

第93讲(HelloActor整体介绍):Akka第一个案例动手实战开发消息实体类

时间:2023-03-15 18:06:27浏览次数:59  
标签:实体类 AggregateActor HelloActor Result ReduceActor 字符串 93 MapActor


第93讲:Akka第一个案例动手实战开发消息实体类

HelloActor的整体框架及实现:

一:HelloActor包括的actors:
1 AggregateActor:对最后所有ReduceActor的结果进行统计
2 MapActor:对收到的消息进行单词切分
3 MasterActor 控制器,给MapActor发字符串,要MapActor进行单词切分工作。
4 ReduceActor 对MapActor产生的结果进行统计

二:HelloActor包括的messages 数据存储的数据,定义数据实体

如下:
1 MapData:私有成员是一个list WordCount,用来让MapActor处理数据以后存储在MapData,然后交给ReduceActor。

过程:
MasterActor 发送一个字符串 ->MapActor对字符串单词切分,存储在MapData,交给ReduceActor进行本地统计。

2 ReduceData:对MapActor产生的结果进行本地性统计为ReduceData(类似于hadoop中的comminbia),再发送给AggregateActor

进行全局统计

3 Result:master.tell(new Result),消息类型是Result,因此转给AggregateActor进行处理,AggregateActor识别是Result,就打印出最后统计的结果。

4 WordCount :包括:单词字符串及计数,在MapActor表现为(字符串,1)

 

DT大数据微信公众账号:DT_Spark
 
DT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接地址:​​​http://pan.baidu.com/share/home?uk=4013289088&view=share#category/type=0&qq-pf-to=pcqq.group​

标签:实体类,AggregateActor,HelloActor,Result,ReduceActor,字符串,93,MapActor
From: https://blog.51cto.com/u_10561036/6123165

相关文章

  • AtCoder Beginner Contest 293
    题解报告基本的一些理解和问题都在注释中A:SwapOddandEven//水题#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>usingnamespace......
  • MybatisX无法自动生成entity实体类
    在做项目的时候,安装MybatisX插件可以让我们不用写实体类,加快我们的开发速度,让我们更专注于业务逻辑的开发,可是最近在做项目的时候,发现MybatisX插件的MybatisX-Generator无......
  • java实体类之间的转换
    字段相同BeanUtils.copyProperties(item,dto);字段不同通过mapstruct,定义不同的字段名字https://blog.csdn.net/weixin_55806809/article/details/125347999......
  • AcWing 第 93 场周赛 4868. 数字替换(dfs+剪枝)
    https://www.acwing.com/problem/content/4871/题目大意:给定两个整数n,x。(x为原始数据,n为需要我们把x变成的位数)可以对x进行任意次以下操作:选择x的一位数字y,将x替......
  • ABC 293 ABCD(并查集)
    A-SwapOddandEven#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;typedefpair<LL,LL>PII;constLLMAXN=1e18,MINN=-1e18;constLLN=1e6......
  • ATABC293D Tying Rope
    ATABC293DTyingRope题意有\(N\)根一端涂成红色,另一端涂成蓝色的绳子,现进行\(M\)次操作,第\(i\)次操作给出两个整数\(A_i\),\(C_i\)与两个字符\(B_i\),\(D_i\),表......
  • MyBatisPlus3.x代码生成器生成实体类自定义需要填充的字段
    场景 生成代码时数据库中某些公共字段比如修改人、修改时间等在生成实体时需要自动添加@TableField(fill=FieldFill.INSERT)等自动填充注解。实现在上面代码生成器的基础......
  • 题解 ABC293D【Tying Rope】
    颜色是不好处理的,我们不妨不区分绳子的两个端点,将每条绳子作为一个节点,每条边直接将两个节点连接起来。每个绳子的端点本质上是保证了每个点的度数不超过\(2\),也就是说图......
  • 题解 ABC293E【Geometric Progression】
    由于模数不一定是大质数,我们不能直接套等比数列求和公式。换一种思路,数列\(\langle1,A,A^2,\cdots,A^{X-1}\rangle\)可以看做线性递推,因此设计矩阵:\[\boldsymbolT=\b......
  • 题解 ABC293F【Zero or One】
    我们可以暴力检查进制数不超过\(B\)的是否符合要求;然后对于进制数大于\(B\)的,位数不超过\(\log_BN\),可以暴力枚举每一位的值然后二分进制数检查。代码中\(B=10^3\)......