Spark与大数据处理技术实践

一、实验环境

  1. 虚拟机操作系统:
  • Ubuntu 18.04.6
  1. 虚拟机硬件配置:
  • CPU:4
  • 内存:4GB
  • 磁盘:50GB
  1. 虚拟机主机名/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)

  1. 如下图所示,在Master虚拟机上执行jps命令可以看到Jps、Master、Worker三个进程,在Slave虚拟机上可以看到Jps、Worker两个进程,说明Spark集群启动成功。
    在这里插入图片描述
    在这里插入图片描述

  2. 执行结果如下图所示。
    在这里插入图片描述

六、思考(注:画图说明,并分析原因)

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模式主要是针对无法在单机处理的大数据来设计的,而简单的程序很可能单机下反而更快。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值