文章目录
- 每日一句正能量
- 前言
-
- 2.5 启动Spark-Shell
-
- 2.5.1 运行Spark-Shell命令
- 2.5.2 运行Spark-Shell读取HDFS文件
- 后记
每日一句正能量
成长是一条必走的路路上我们伤痛在所难免。
前言
在大数据处理和分析领域,Spark被广泛应用于解决海量数据处理和实时计算的挑战。作为一个快速、可扩展且易于使用的分布式计算框架,Spark为开发人员提供了丰富的API和工具来处理和分析大规模数据集。
其中,Spark-Shell是Spark提供的一个交互式工具,它基于Scala语言,使得用户能够更加灵活和便捷地与Spark进行交互。通过Spark-Shell,我们可以直接在命令行终端中编写和执行Spark代码,进行数据探索和处理,以及进行实时数据分析。
启动Spark-Shell只需几个简单的步骤,然后我们就可以享受到交互式数据分析和开发的乐趣。一旦启动了Spark-Shell,我们可以使用各种Spark命令来操作和处理数据,包括数据加载、数据转换、数据分析等。
本次教程将带领你快速启动Spark-Shell,并介绍一些常用的Spark命令,帮助你更好地利用Spark进行数据处理和分析。无论你是数据工程师、数据科学家还是对大数据感兴趣的初学者,本教程都将为你提供一个良好的起点,让你能够尽快上手Spark-Shell,并利用其强大的功能来解决实际问题。
让我们一起开始探索Spark-Shell的奇妙世界吧!
2.5 启动Spark-Shell
Spark-Shell是一个强大的交互式数据分析工具,初学者可以很好的使用它来学习相关API,用户可以在命令行下使用Scala编写Spark程序,并且每当输入一条语句,Spark-Shell就会立即执行语句并返回结果,这就是我们所说的REPL(Read-Eval-Print Loop,交互式解释器),Spark-Shell支持Scala和Python,如果需要进入Python语言的交互式执行环境,只需要执行"pyspark"命令即可。
2.5.1 运行Spark-Shell命令
在spark/bin目录中,执行下列命令进入Spark-Shell交互环境:
bin/spark-shell --master <master-url>
- --master"表示指定当前连接的Master节点
- 用于指定Spark的运行模式
可取的详细值如下所示。
如需查询Spark-Shell的更多使用方式可以执行"--help命令"获取帮助选项列表,如下图所示。
2.5.2 运行Spark-Shell读取HDFS文件
下面通过启动Spark-Shell,并组使用Scala语言开发单词计数的Spark程序,现有文本文件words.txt (读者需要使用vi words.txt
命令在本地创建文件并上传至指定目录)在HDFS中的/spark/test路径下, 且文本内容如下。
shell
hello hadoop
hello spark
hellp itcast
使用 hadoop fs -mkdir -p /spark/test
命令创建文件夹,使用 hadoop fs -put words.txt /spark/test
命令上传文件。
如果使用Spark Shell来读取HDFS中的/spark/test/ words.txt文件,具体步骤如下:
- 整合Spark和HDFS。
Spark加载HDFS上的文件,需要修改spark-env.sh配置文件,添加HADOOP_CONF_ DIR配置参数,指定Hadoop配置文件的目录,添加配置参数如下。
shelll
#指定HDFS配置文件目录
export HADOOP_CONF_DIR=/export/servers/hadoop-2.7.4/etc/hadoop
在Hadoop01上修改后,将该spark-env.sh配置文件分发给hadoop02和hadoop03。命令如下
shelll
scp spark-env.sh hadoop02:/export/servers/spark/conf/
scp spark-env.sh hadoop03:/export/servers/spark/conf/
- 启动Hadoop、Spark服务。
配置完毕后,启动Hadoop集群服务,并重新启动Spark集群服务,使配置文件生效。
- 要重启Hadoop,先要停掉Hadoop。
- 重启Hadoop。
- 查看jps。
要先将它停了。返回上一级目录,停掉spark,如下图所示:
重启spark。如下图所示:
- 启动Spark --Shell编写程序。
启动Spark-Shell交互式界面,执行命令如下。
bin/spark-shell --master local[2]
执行上述命令, Spark-Shell启动成功后, 就会进入如下图所示的程序交互界面。
SparkShell本身就是一个Driver, 它会初始化-个SparkContext对象为"sc",用户可以直接调用。下面编写Scala代码实现单词计数,具体代码如下。
shelll
scala > sc.textFile("/spark/test/words.txt").
flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
res0: Array[(String, Int)] = Array((itcast,1), (hello,3), (spark,1), (hadoop,1))
上述代码中,res0表示返回的结果对象, 该对象中是一个Array[ ](String, Int)]类型的集合, (itcast, 1)则表示"itcast"单词总计为1个。
4.退出Spark-Shell客户端。
可以使用命令":quit
"退出Spark-Shell,如下所示。
scala > :quit
也可以使用快捷键"Ctrl+D",退出Spark Shell。
后记
在本次对Spark-Shell的启动和运行命令的介绍中,我们学习了如何启动Spark-Shell并运行Spark命令。
Spark-Shell是一个强大的交互式工具,可以让我们快速地尝试和测试Spark代码,以及进行数据探索和分析。通过在Spark-Shell中编写和运行Spark命令,我们可以使用Spark的分布式计算能力来处理大规模的数据,进行数据清洗、转换、建模和分析等操作。
了解Spark-Shell的基本使用方法和常见的Spark命令对于进行Spark开发和数据处理非常重要。在实际应用中,可以根据具体需求使用Spark-Shell来进行交互式数据分析和开发,从而提高工作效率。
在使用Spark-Shell时,我们还可以使用其他辅助工具和库来增强其功能,如使用Spark SQL进行SQL查询和分析、使用Spark Streaming进行实时数据处理、使用Spark MLlib进行机器学习等。
通过不断学习和探索,我们可以更好地掌握Spark-Shell的使用技巧,并将其应用于实际项目中。希望本次介绍能够帮助你快速入门和使用Spark-Shell,并在Spark开发中取得更好的成果。
转载自:
欢迎 👍点赞✍评论⭐收藏,欢迎指正