文章目录

  • 每日一句正能量
  • 前言
    • 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路径下, 且文本内容如下。

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文件,具体步骤如下:

  1. 整合Spark和HDFS。

Spark加载HDFS上的文件,需要修改spark-env.sh配置文件,添加HADOOP_CONF_ DIR配置参数,指定Hadoop配置文件的目录,添加配置参数如下。

#指定HDFS配置文件目录
export HADOOP_CONF_DIR=/export/servers/hadoop-2.7.4/etc/hadoop

在Hadoop01上修改后,将该spark-env.sh配置文件分发给hadoop02和hadoop03。命令如下

scp spark-env.sh hadoop02:/export/servers/spark/conf/
scp spark-env.sh hadoop03:/export/servers/spark/conf/
  1. 启动Hadoop、Spark服务。

配置完毕后,启动Hadoop集群服务,并重新启动Spark集群服务,使配置文件生效。

  • 要重启Hadoop,先要停掉Hadoop。
    在这里插入图片描述
  • 重启Hadoop。
    在这里插入图片描述
  • 查看jps。
    在这里插入图片描述
    要先将它停了。返回上一级目录,停掉spark,如下图所示:
    在这里插入图片描述
    重启spark。如下图所示:
    在这里插入图片描述
  1. 启动Spark –Shell编写程序。
    启动Spark-Shell交互式界面,执行命令如下。
    bin/spark-shell --master local[2]
    执行上述命令, Spark-Shell启动成功后, 就会进入如下图所示的程序交互界面。
    在这里插入图片描述
    SparkShell本身就是一个Driver, 它会初始化-个SparkContext对象为“sc”,用户可以直接调用。下面编写Scala代码实现单词计数,具体代码如下。
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开发中取得更好的成果。

转载自:
欢迎 👍点赞✍评论⭐收藏,欢迎指正

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐