Spark与大数据处理技术实践
Spark与大数据处理技术实践
·
一、实验环境
- 虚拟机操作系统:
- Ubuntu 18.04.6
- 虚拟机硬件配置:
- CPU:4
- 内存:4GB
- 磁盘:50GB
- 虚拟机主机名/IP:
- huyu/192.168.253.312
二、Spark配置环境截图
1. Spark若干关键配置文件的截图(Java, Scala, Python)
-
Java成功安装的截图如下:

-
SDKMAN成功安装的截图如下:

-
Scala成功安装的截图如下:

-
Python成功安装的截图如下:

2. Spark成功启动的截图(./spark-shell)

三、GMM执行结果截图
1. 任务提交以后,Spark执行过程的截图

2. 任务完成后,打印结果的截图

四、拓展实验:Scala GMM
1. 打印预测的结果

2. 查看模型相关参数

五、拓展实验:Spark独立部署模式(Standalone)
-
如下图所示,在Master虚拟机上执行jps命令可以看到Jps、Master、Worker三个进程,在Slave虚拟机上可以看到Jps、Worker两个进程,说明Spark集群启动成功。


-
执行结果如下图所示。

六、思考(注:画图说明,并分析原因)
Spark Local模式和Standalone模式执行同一任务时间比较(画图或列表)
模式 节点个数 开始时间 结束时间 执行时间/S 同一任务花费/S
Local 1 03:39:48 03:39:58 10 0.7928
Standalone 2 07:13:19 07:13:34 15 1.5729
理想情况下N台机器的执行时间为单机的1/N倍。对照自己的实验结果,并分析原因。
答:从理论上来讲,N台机器的执行时间为单机的1/N倍,但是从上述的实验结果中来看,Standalone模式下的执行时间反而更长一点。究其原因,是因为Standalone模式在Task调度方面通常比Local模式低效——因为Local模式下所有程序都运行在一个进程里面,因此大部分只涉及到了进程内通信,而Standalone模式下的通信需要借助网络。而且,就本次实验所使用的例子而言,T ask执行时间非常短,因此把Task调度引起的额外开销放大了。从上述分析来看,Standalone模式主要是针对无法在单机处理的大数据来设计的,而简单的程序很可能单机下反而更快。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)