使用Spark shell

简介: 使用Spark shell

1. 实验室名称:

大数据实验教学系统

2. 实验项目名称:

使用Spark shell

3. 实验学时:

4. 实验原理:

spark-shell命令及其常用的参数如下: ./bin/spark-shell [options]

 Spark的运行模式取决于传递给SparkContext的Master URL的值。

• 参数选项–master:这个参数表示当前的Spark Shell要连接到哪个master,如果是local[*],就是使用本地模式启动spark-shell,其中,中括号内的星号表示需要使用几个CPU核心(core),也就是启动几个线程模拟Spark集群。可选地,默认为local。

• 要查看完整的参数选项列表,可以执行“spark-shell —help”命令,如下:

0.   $ spark-shell --help

Master URL(即—master参数)的值如下表所示:


6de01b819db64948ad107e92885be3da.png


5. 实验目的:

掌握Spark Shell帮助命令的使用。

 掌握Spark Shell的启动和关闭。


6. 实验内容:

1、查看Spark Shell帮助命令。

 2、两种模式(local和standalone)启动Spark Shell。

 3、常用Spark Shell命令。


7. 实验器材(设备、虚拟机名称):

硬件:x86_64 ubuntu 16.04服务器

 软件:JDK1.8,Spark-2.3.2

 在本实验环境中,Spark安装包位于以下位置:/data/software/spark-2.3.2-bin-hadoop2.7.tgz

 在本实验环境中,JDK已安装在以下位置:/opt/jdk

 在本实验环境中,Hadoop已安装在以下位置:/opt/hadoop器


8. 实验步骤:

8.1 启动Spark Shell方式一:local模式

1、在终端窗口中,键入以下命令,启动spark-shell:

1.  $ spark-shell

执行过程如下图所示:

508bd0dd00374d7e870b39f953f5991d.png


从上图中可以看出,Spark Shell在启动时,已经帮我们创建好了SparkContext对象的实例sc和SparkSession对象的实例spark,我们可以在Spark Shell中直接使用sc和spark这两个对象。另外,默认情况下,启动的Spark Shell采用local部署模式。

 2、在spark-shell中,键入以下命令,退出Spark Shell:

1.  :quit

508bd0dd00374d7e870b39f953f5991d.png8.2 启动Spark Shell方式二:standalone集群模式

1、先要确保启动了Spark集群。在终端窗口下,执行以下命令:


$ cd /opt/spark

$ ./sbin/start-all.sh

 2、然后启动spark-shell。在启动spark-shell时,要指定—master参数,如下所示(注意:请将以下命令中的localhost替换为虚拟机实际的主机名):

1.  $ spark-shell --master spark://localhost:7077

执行过程如下图所示:

02e842fbfc6249dfb07905ad7fc4db45.png


8.3 Spark Shell常用命令

1、可以在Spark Shell里面输入Spark代码进行开发调试。

  例如,在一个启动了的spark-shell窗口下,执行如下图所示的代码:

2967d8afda0b47e3ba7095d349e367ac.png


2、可以Spark Shell中键入以下命令,查看Spark Shell常用的命令:

1.  :help

输出如下图所示:

081beaa7d6594d7d9569a97bcd191f0e.png


3、测试:paste命令。在Spark Shell中,键入以下命令,进入paster模式:

1.  :paste
2.  val r = 5
3.  val pi = 3.14
4.  val area = pi * r * r
5.  println("面积为:" + area)

同时按下Shift+Enter,执行以上代码,输出内容如下:

面积为:78.5

执行过程如下图所示:

6309980e827943f88723a83b9109e552.png


9. 实验结果及分析:

实验结果运行准确,无误


10. 实验结论:

经过本节实验的学习,通过学习Spark集群环境搭建(standalone模式),进一步巩固了我们的Spark基础。


11. 总结及心得体会:

Spark Shell支持Scala和Python语言。

 Spark Shell在启动时,已经帮我们创建好了SparkContext对象的实例sc和SparkSession对象的实例spark,我们可以在Spark Shell中直接使用sc和spark这两个对象。

 Spark Shell本身就是一个Driver程序,里面已经包含了main方法。(一个Driver程序就包括main方法和分布式数据集。)

 —master:这个参数表示当前的Spark Shell要连接到哪个master。默认情况下是使用local模式。。


12、实验知识测试

1.1 Spark 的 master 和 worker 通过什么方式进行通信的? ( D )

• A.http

• B.nio

• C.netty

• D.Akka

扩展资料

AKKA把并发操作的各种复杂的东西都统一的做了封装.我们主要关心的是业务逻辑的实现,只需要少量的关心Actor模型的串联即可构建出高可用,高性能,高扩展的应用.

由于AKKA是使用Scala编写的,而Scala是一种基于JVM的语言,因此JAVA对AKKA的支持也是很不错的.Akka自身又是采用微内核的方式来实现的,这就意味着能很容易的在自己的项目中应用AKKA,只需要引入几个akka的Lib包即可。

Akka是一个由Scala编写的,能兼容Sacala和JAVA的,用于编写高可用和高伸缩性的Actor模型框架,它基于了事件驱动的并发处理模式,性能非常的高,并且有很高的可用性,大大的简化了我们在应用系统中开发并发处理的过程。它在各个领域都有很好的表现。

4fce0a6bf4cf48a79b674b54daf63f91.png

相关文章
|
7月前
|
Java Shell 分布式数据库
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
164 0
|
7月前
|
分布式计算 Java 大数据
【大数据技术Hadoop+Spark】HDFS Shell常用命令及HDFS Java API详解及实战(超详细 附源码)
【大数据技术Hadoop+Spark】HDFS Shell常用命令及HDFS Java API详解及实战(超详细 附源码)
749 0
|
存储 SQL 分布式计算
Spark Shell笔记
Spark Shell笔记
170 0
Spark Shell笔记
|
分布式计算 监控 安全
【墨菲安全实验室】Spark(3.1.2, 3.2.1, 3.3.0版本)shell命令注入漏洞
【墨菲安全实验室】Spark(3.1.2, 3.2.1, 3.3.0版本)shell命令注入漏洞
【墨菲安全实验室】Spark(3.1.2, 3.2.1, 3.3.0版本)shell命令注入漏洞
|
分布式计算 监控 Java
日志分析实战之清洗日志小实例3:如何在spark shell中导入自定义包
日志分析实战之清洗日志小实例3:如何在spark shell中导入自定义包
181 0
日志分析实战之清洗日志小实例3:如何在spark shell中导入自定义包
|
分布式计算 Hadoop 大数据
Spark 入门_Spark Shell 本地文件读取|学习笔记
快速学习 Spark 入门_Spark Shell 本地文件读取
Spark 入门_Spark Shell 本地文件读取|学习笔记
|
分布式计算 大数据 Linux
Spark修炼之道(基础篇)——Linux大数据开发基础:第十四节:Shell编程入门(六)
本文主要内容 case控制结构 read命令 管道 1. case控制结构 参考:http://blog.csdn.net/dreamtdp/article/details/8048720 case控制结构语法格式: case expression in pattern1 ) statements ;; pattern2
2436 0
|
分布式计算 大数据 Linux
Spark修炼之道(基础篇)——Linux大数据开发基础:第十一节:Shell编程入门(三)
本节主要内容 shell数组 shell命令别名 时间操作 1. Shell数组 同C、C++等语言一样,shell脚本也提供了数组这样一个重要的数据结构,shell中的数组有两种,一种为普通数组,另外的一种称为关联数组。普通数据的存取通过整数进行,关联数组的存取通过字符串进行。具体如下: //用()定义一个数组,注意数组元素间不能用,否则达不到预期目的 roo
2724 0
|
分布式计算 Shell Linux
Spark修炼之道(基础篇)——Linux大数据开发基础:第十二节:Shell编程入门(四)
本节主要内容 shell脚本调试 shell函数 shell控制结构初步 1. shell脚本调试 当脚本出错时,需要对脚本进行调试,学会脚本调试是每个linux系统使用者必备技能。shell脚本调试无需任何额外的工具,只需要要在脚本文件前加-x选项即可,创建debug.sh文件,内容如下: #!/bin/bash #Filename: debug.sh ech
2657 0
|
分布式计算 Shell Linux
Spark修炼之道(基础篇)——Linux大数据开发基础:第十三节:Shell编程入门(五)
本节主要内容 while循环控制结构 if条件判断 until循环控制结构 1. while循环控制结构 本节例子来源:http://blog.chinaunix.net/uid-25880122-id-2901409.html 语法格式: while expression do command command done (1)计数器格式 适用于循环次
2464 0