云计算技术 实验九 Spark的安装和基础编程

这篇具有很好参考价值的文章主要介绍了云计算技术 实验九 Spark的安装和基础编程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.实验学时

4学时

2.实验目的

  • 熟悉Spark Shell。
  • 编写Spark的独立的应用程序。

3.实验内容

(一)完成Spark的安装,熟悉Spark Shell。

首先安装spark:

将下好的压缩文件传入linux,然后进行压解:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

spark的安装与配置实验报告,云计算,spark,云计算,大数据

之后移动文件,修改文件权限:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

然后是配置相关的文件:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

Vim进入进行修改:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

spark的安装与配置实验报告,云计算,spark,云计算,大数据

然后是运行程序判断是否安装完成:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

spark的安装与配置实验报告,云计算,spark,云计算,大数据

由于信息太多,这时需要筛选信息:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

运行示例代码输出小数。

然后是shell编程:

首先启动spark:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

可以先进行测试,输入1+4看看输出:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

测试完成,开始使用命令读取文件:

首先加载本地的文件,这些本地的文件是自带的spark测试文件。

这里读取README.md文件测试。

spark的安装与配置实验报告,云计算,spark,云计算,大数据

加载HDFS文件和本地文件都是使用textFile,区别是添加前缀(hdfs://file:///)进行标识。

之后是简单的操作:

1.读取本地文件:

获得文件第一行内容

spark的安装与配置实验报告,云计算,spark,云计算,大数据

文件内容计数

spark的安装与配置实验报告,云计算,spark,云计算,大数据

获得含有spark的行,同时返回新的一个RDD

spark的安装与配置实验报告,云计算,spark,云计算,大数据

之后统计这个新的RDD的行数:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

2.读取hdfs文件,这里首先要启动hadoop

spark的安装与配置实验报告,云计算,spark,云计算,大数据

然后读取文件:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

然后使用cat命令获取文件内容:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

之后切换spark编写语句打印hdfs文件中的第一行内容:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

(二)使用Spark程序编写wordcount程序。

这里使用本地的文件实现词频统计程序:

首先是打开文件:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

之后遍历文件中的内容,对每个单词进行切分归类,后面使用flatMap命令为的是得到一个关于单词的集合。

spark的安装与配置实验报告,云计算,spark,云计算,大数据

得到这些单词的集合之后,开始使用键值对的方式对出现的单词进行计数,每出现一次就使用键值对计算一次。之后计算就得到了每个单词的词频:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

(三)使用scala编写Spark程序。

使用spark进行编程需要卸载sbt文件进行辅助,这里先安装spark。

先创建一个文件夹:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

然后压缩文件,将文件移动到新建好的文件夹下:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

spark的安装与配置实验报告,云计算,spark,云计算,大数据

之后在对应的sbt文件夹下创建一个脚本文件,用于启动sbt。

脚本文件代码如下:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

然后为文件增加权限:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

之后可以查看sbt版本信息:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

这里可以看到sbt的版本是1.38>这里会下载一些数据包,需要进行等待。+

spark的安装与配置实验报告,云计算,spark,云计算,大数据

spark的安装与配置实验报告,云计算,spark,云计算,大数据

执行成功。

之后就可以执行命令创建文件夹作为程序根目录

spark的安装与配置实验报告,云计算,spark,云计算,大数据

之后创建代码文件输入代码:

/* SimpleApp.scala */
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf

object SimpleApp {
    def main(args: Array[String]) {
        val logFile = "file:///usr/local/spark/README.md" // Should be some file on your system
        val conf = new SparkConf().setAppName("Simple Application")
        val sc = new SparkContext(conf)
        val logData = sc.textFile(logFile, 2).cache()
        val numAs = logData.filter(line => line.contains("a")).count()
        val numBs = logData.filter(line => line.contains("b")).count()
        println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
    }
}

spark的安装与配置实验报告,云计算,spark,云计算,大数据

之后保存之后就使用sbt打包scala应用程序:

首先在对应的路径下创建对应的编译文件实现程序编写:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

spark的安装与配置实验报告,云计算,spark,云计算,大数据

为了保证程序正常运行,需要检查整个应用程序的文件结构:

查找之后:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

之后就可以将整个应用程序打包成为JAR:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

这个时候就会在网上下载东西,等几分钟之后就会生成对应的jar包之后返回一些信息。

spark的安装与配置实验报告,云计算,spark,云计算,大数据

之后返回的信息:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

之后可以使用jar包通过spark-submit在spark中运行,使用代码直接得到结果:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

(四)使用java编写Spark程序,熟悉maven打包过程。

首先下载maven,之后进行压缩:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

之后移动文件夹:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

之后是编写java程序:

首先创建java文件,之后输入代码:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

/*** SimpleApp.java ***/
import org.apache.spark.api.java.*;
import org.apache.spark.api.java.function.Function;
import org.apache.spark.SparkConf;
 
public class SimpleApp {
    public static void main(String[] args) {
        String logFile = "file:///usr/local/spark/README.md"; // Should be some file on your system
        SparkConf conf=new SparkConf().setMaster("local").setAppName("SimpleApp");
        JavaSparkContext sc=new JavaSparkContext(conf);
        JavaRDD<String> logData = sc.textFile(logFile).cache(); 
        long numAs = logData.filter(new Function<String, Boolean>() {
            public Boolean call(String s) { return s.contains("a"); }
        }).count(); 
        long numBs = logData.filter(new Function<String, Boolean>() {
            public Boolean call(String s) { return s.contains("b"); }
        }).count(); 
        System.out.println("Lines with a: " + numAs + ", lines with b: " + numBs);
    }
}

spark的安装与配置实验报告,云计算,spark,云计算,大数据

这个程序依赖于spark java apl,所以需要使用maven进行打包。

之后使用vim在对应目录下建立xml文件

spark的安装与配置实验报告,云计算,spark,云计算,大数据

输入代码:

<project>
    <groupId>cn.edu.xmu</groupId>
    <artifactId>simple-project</artifactId>
    <modelVersion>4.0.0</modelVersion>
    <name>Simple Project</name>
    <packaging>jar</packaging>
    <version>1.0</version>
    <repositories>
        <repository>
            <id>jboss</id>
            <name>JBoss Repository</name>
            <url>http://repository.jboss.com/maven2/</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency> <!-- Spark dependency -->
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>2.4.0</version>
        </dependency>
    </dependencies>
</project>

spark的安装与配置实验报告,云计算,spark,云计算,大数据

然后使用maven打包java程序:

首先检查文件结构:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

然后使用代码将整个程序打包成为jar包,在打包的时候会接入网络下载文件。

spark的安装与配置实验报告,云计算,spark,云计算,大数据

发现程序正常运行。

然后通过spark-submit运行程序:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

查看结果:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

通过spark-submit运行程序,得到结果:

spark的安装与配置实验报告,云计算,spark,云计算,大数据

4.思考题

(一)Hadoop和Spark直接的区别在哪里?谁的性能更好?

Hadoop的框架最核心的设计就是:HDFS 和 Map ReduceHDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

Spark 拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS

Hadoop是磁盘级计算,计算时需要在磁盘中读取数据;其采用的是MapReduce的逻辑,把数据进行切片计算用这种方式来处理大量的离线数据.

Spark,它会在内存中以接近实时的时间完成所有的数据分析。Spark的批处理速度比MapReduce快近10倍,内存中的数据分析速度则快近100倍。

综合上面的数据,可以判断Spark的速度会比Hadoop更快,Spark的性能会更加好。

5.实验结论或体会

1. 加载HDFS文件和本地文件都是使用textFile,区别是添加前缀(hdfs://和file:///)进行标识。

2.编写程序的时候,需要使用到maven进行程序的打包。

3.进行打包的时候需要对路径进行判断,防止路径错误导致的数据文件的丢失。

4.在进行打包的时候需要进行等待软件包下载好,否则再次进行打包的时候会产生数据的流失。文章来源地址https://www.toymoban.com/news/detail-752304.html

到了这里,关于云计算技术 实验九 Spark的安装和基础编程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Spark编程基础】实验三RDD 编程初级实践(附源代码)

    1、熟悉 Spark 的 RDD 基本操作及键值对操作; 2、熟悉使用 RDD 编程解决实际具体问题的方法 1、Scala 版本为 2.11.8。 2、操作系统:linux(推荐使用Ubuntu16.04)。 3、Jdk版本:1.7或以上版本。 请到本教程官网的“下载专区”的“数据集”中下载 chapter5-data1.txt,该数据集包含了某大

    2024年03月25日
    浏览(56)
  • 云计算技术 实验五 Hbase的安装和基础编程

    参考资料为: 教材代码-林子雨编著《大数据基础编程、实验和案例教程(第2版)》教材所有章节代码_厦大数据库实验室博客 1 . 实验学时 4学时 2 . 实验目的 熟悉Hbase的安装和配置。 熟悉Hbase的相关命令。 实现Hbase的Java编程调用。 3.实验内容 (一) 安装Hbase,能够查询Hba

    2024年02月11日
    浏览(45)
  • 2023_Spark_实验一:Windows中基础环境安装

    Ⅰ、WINDOWS中安装JDK1.8 一、下载安装包 链接:百度网盘 请输入提取码 所在文件夹:根目录或者大数据必备工具--》开发工具(前端+后端)--》后端 下载文件名称:jdk-8u191-windows-x64.exe 二、安装JDK 1.现在转到下载的exe文件可用的文件夹,右键单击该文件并以管理员身份运行。将出

    2024年02月10日
    浏览(39)
  • 2023_Spark_实验二:IDEA安装及配置

    一、下载安装包 链接:百度网盘 请输入提取码 所在文件夹:大数据必备工具--》开发工具(前端+后端)--》后端 下载文件名称:ideaIU-2019.2.3.exe (喜欢新版本也可安装新版本,新旧版本会存在部分差异) IDEA 安装 第一步,双击 ideaIU-2019.2.3.exe 安装包,出现如下页面,点击图中

    2024年02月10日
    浏览(48)
  • Spark编程实验四:Spark Streaming编程

    目录 一、目的与要求 二、实验内容 三、实验步骤 1、利用Spark Streaming对三种类型的基本数据源的数据进行处理 2、利用Spark Streaming对Kafka高级数据源的数据进行处理 3、完成DStream的两种有状态转换操作 4、把DStream的数据输出保存到文本文件或MySQL数据库中 四、结果分析与实验

    2024年02月03日
    浏览(36)
  • Spark编程实验三:Spark SQL编程

    目录 一、目的与要求 二、实验内容 三、实验步骤 1、Spark SQL基本操作 2、编程实现将RDD转换为DataFrame 3、编程实现利用DataFrame读写MySQL的数据 四、结果分析与实验体会 1、通过实验掌握Spark SQL的基本编程方法; 2、熟悉RDD到DataFrame的转化方法; 3、熟悉利用Spark SQL管理来自不同

    2024年02月03日
    浏览(39)
  • spark实验三-spark进阶编程

    实验目标: (1)   掌握在IntelliJ IDEA 中操作spark程序开发 (2)   打包程序提交集群运行 实验说明: 现有一份某省份各地区租房信息文件 house.txt,文件中共有8个数据字段,字段说明如下表所示: 字段名称 说明 租房ID 租房编号 标题 发布的租房标题 链接 网址,可查看租房信息

    2024年04月27日
    浏览(30)
  • Spark编程实验五:Spark Structured Streaming编程

    目录 一、目的与要求 二、实验内容 三、实验步骤 1、Syslog介绍 2、通过Socket传送Syslog到Spark 3、Syslog日志拆分为DateFrame 4、对Syslog进行查询 四、结果分析与实验体会 1、通过实验掌握Structured Streaming的基本编程方法; 2、掌握日志分析的常规操作,包括拆分日志方法和分析场景

    2024年02月20日
    浏览(39)
  • Spark编程实验六:Spark机器学习库MLlib编程

    目录 一、目的与要求 二、实验内容 三、实验步骤 1、数据导入 2、进行主成分分析(PCA) 3、训练分类模型并预测居民收入  4、超参数调优 四、结果分析与实验体会 1、通过实验掌握基本的MLLib编程方法; 2、掌握用MLLib解决一些常见的数据分析问题,包括数据导入、成分分析

    2024年02月20日
    浏览(41)
  • 大数据与云计算——Spark的安装和配置

    Spark的简单介绍: Apache Spark是一个基于内存的分布式计算框架,它提供了高效、强大的数据处理和分析能力。与传统的Hadoop MapReduce相比,Spark的主要优势在于其能够将数据集缓存在内存中,从而大大减少了磁盘I/O操作,提高了数据处理速度。 Spark提供了多种编程接口,包括

    2024年02月05日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包