Spark大数据分析与实战笔记(第二章 Spark基础-05)

文章目录

  • 每日一句正能量
  • 前言
    • 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文件,具体步骤如下:

  1. 整合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/
  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代码实现单词计数,具体代码如下。
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开发中取得更好的成果。

转载自:

欢迎 👍点赞✍评论⭐收藏,欢迎指正

相关推荐
咚咚王者6 小时前
人工智能之数据分析 numpy:第十三章 工具衔接与迁移
人工智能·数据分析·numpy
咚咚王者6 小时前
人工智能之数据分析 numpy:第九章 数组运算(二)
人工智能·数据分析·numpy
Yawesh_best6 小时前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全
Ccjf酷儿8 小时前
操作系统 蒋炎岩 3.硬件视角的操作系统
笔记
习习.y9 小时前
python笔记梳理以及一些题目整理
开发语言·笔记·python
在逃热干面9 小时前
(笔记)自定义 systemd 服务
笔记
数据科学小丫9 小时前
数据分析与FineBI介绍
大数据·数据分析·finebi
可观测性用观测云10 小时前
采集华为云 CCI 日志到观测云最佳实践
数据分析
DKPT10 小时前
ZGC和G1收集器相比哪个更好?
java·jvm·笔记·学习·spring
QT 小鲜肉12 小时前
【孙子兵法之上篇】001. 孙子兵法·计篇
笔记·读书·孙子兵法