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

这篇具有很好参考价值的文章主要介绍了Spark大数据分析与实战笔记(第二章 Spark基础-05)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

每日一句正能量

成长是一条必走的路路上我们伤痛在所难免。

前言

在大数据处理和分析领域,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大数据分析与实战笔记(第二章 Spark基础-05),spark,数据分析,笔记
如需查询Spark-Shell的更多使用方式可以执行“–help命令“获取帮助选项列表,如下图所示。
Spark大数据分析与实战笔记(第二章 Spark基础-05),spark,数据分析,笔记

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。
    Spark大数据分析与实战笔记(第二章 Spark基础-05),spark,数据分析,笔记
  • 重启Hadoop。
    Spark大数据分析与实战笔记(第二章 Spark基础-05),spark,数据分析,笔记
  • 查看jps。
    Spark大数据分析与实战笔记(第二章 Spark基础-05),spark,数据分析,笔记
    要先将它停了。返回上一级目录,停掉spark,如下图所示:
    Spark大数据分析与实战笔记(第二章 Spark基础-05),spark,数据分析,笔记
    重启spark。如下图所示:
    Spark大数据分析与实战笔记(第二章 Spark基础-05),spark,数据分析,笔记
  1. 启动Spark –Shell编写程序。
    启动Spark-Shell交互式界面,执行命令如下。
    bin/spark-shell --master local[2]
    执行上述命令, Spark-Shell启动成功后, 就会进入如下图所示的程序交互界面。
    Spark大数据分析与实战笔记(第二章 Spark基础-05),spark,数据分析,笔记
    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开发中取得更好的成果。

转载自:
欢迎 👍点赞✍评论⭐收藏,欢迎指正文章来源地址https://www.toymoban.com/news/detail-777267.html

到了这里,关于Spark大数据分析与实战笔记(第二章 Spark基础-05)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NanoEdge AI Studio 教程 第二章--异常数据分析

    OK,好久不见,各位,最近挺忙,欢迎回来。 让我们开始第二章节,异常判断。 目录 一 Nano Edge AI Studio 简单概述 二 异常判断 1.工程选择 2.进行工程设置 2.1 MCU选择 2.2 数据设定 3.输入数据 4.模型训练 5.验证 6.生成模型 7.布置模型 NanoEdge AI Studio主要可以实现的功能主要分为四

    2024年04月17日
    浏览(41)
  • 从零开始学数据分析之——《线性代数》第二章 矩阵

    元素全为实数的矩阵称为实矩阵  元素全为负数的矩阵称为复矩阵 只有一行(列)的矩阵称为行(列)矩阵 元素全为零的矩阵称为零矩阵 行数和列数都等于n的矩阵称为n阶矩阵或n阶方阵 主对角线元素全为1,其余元素全为0的矩阵称为单位矩阵,记作E或I 两个矩阵行数和列数

    2023年04月23日
    浏览(38)
  • Spark大数据分析与实战笔记(第三章 Spark RDD 弹性分布式数据集-02)

    人生很长,不必慌张。你未长大,我要担当。 传统的MapReduce虽然具有自动容错、平衡负载和可拓展性的优点,但是其最大缺点是采用非循环式的数据流模型,使得在迭代计算式要进行大量的磁盘IO操作。Spark中的RDD可以很好的解决这一缺点。 RDD是Spark提供的最重要的抽象概念

    2024年02月22日
    浏览(48)
  • Spark大数据分析与实战笔记(第一章 Scala语言基础-2)

    Spark是专为大规模数据处理而设计的快速通用的计算引擎,它是由Scala语言开发实现的,关于大数据技术,本身就是计算数据,而Scala既有面向对象组织项目工程的能力,又具备计算数据的功能,同时Spark和Scala的紧密集成,本书将采用Scala语言开发Spark程序,所以学好Scala将有助

    2024年02月11日
    浏览(44)
  • Spark大数据分析与实战笔记(第一章 Scala语言基础-1)

    Spark是专为大规模数据处理而设计的快速通用的计算引擎,它是由Scala语言开发实现的,关于大数据技术,本身就是计算数据,而Scala既有面向对象组织项目工程的能力,又具备计算数据的功能,同时Spark和Scala的紧密集成,本书将采用Scala语言开发Spark程序,所以学好Scala将有助

    2024年02月11日
    浏览(43)
  • Spark大数据分析与实战笔记(第一章 Scala语言基础-3)

    对于每一门编程语言来说,数组(Array)都是重要的数据结构之一,主要用来存储数据类型相同的元素。Scala中的数组分为定长数组和变长数组,定义定长数组,需要使用new,而定义变长数组时,则需要导包 import scala.collection.mutable.ArrayBuffer 。 数组(Array)主要用来存储

    2024年02月10日
    浏览(43)
  • Spark大数据分析与实战课后答案

    一、填空题 1、Scala语言的特性包含 面向对象编程 、函数式编程的、 静态类型的 、可扩展的、 可以交互操作的 。 2、在Scala数据类型层级结构的底部有两个数据类型,分别是 Nothing 和 Null 。 3、在Scala中,声明变量的有 var 声明变量和 val 声明常量。 4、在Scala中,获取

    2024年01月17日
    浏览(57)
  • 企业Spark案例--酒店数据分析实战提交

    第1关:数据清洗--过滤字段长度不足的且将出生日期转: package com.yy   import org.apache.spark.rdd.RDD import org.apache.spark.sql.{DataFrame, Dataset, SparkSession} object edu{     /**********Begin**********/     // 此处可填写相关代码     case class Person(id:String,Name:String,CtfTp:String,CtfId:String,G

    2024年02月09日
    浏览(40)
  • Spark大数据分析与实战课后习题参考答案

    项目一: 一、选择题 DCCDAD 二、简答题 1、Hadoop MapReduce要求每个步骤间的数据序列化到磁盘,所以I/O成本很高,导致交互分析和迭代算法开销很大;Spark 提供了内存计算,把中间结果放到内存中,带来了更高的迭代运算效率。通过支持有向无环图(DAG)的分布式并行计算的编

    2024年02月11日
    浏览(30)
  • 大数据实战(hadoop+spark+python):淘宝电商数据分析

    虚拟机:Ubuntu 20.04.6 LTS docker容器 hadoop-3.3.4 spark-3.3.2-bin-hadoop3 python,pyspark, pandas,matplotlib mysql,mysql-connector-j-8.0.32.jar(下载不需要积分什么的) 淘宝用户数据 以上的技术积累需要自行完成 创建容器(##ubuntu的代码块,在ubuntu中运行,无特殊说明的在docker中运行) 更新软件

    2024年02月11日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包