大数据技术原理-spark的安装

发布于:2024-08-02 ⋅ 阅读:(42) ⋅ 点赞:(0)

摘要

本实验报告详细记录了在"大数据技术原理"课程中进行的Spark安装与应用实验。实验环境包括Spark、Hadoop和Java。实验内容涵盖了Spark的安装、配置、启动,以及使用Spark进行基本的数据操作,如读取本地文件、文件内容计数、模式匹配和行数统计。此外,实验还包括了对HDFS文件的读取和操作,以及使用Spark实现的词频统计程序。

在实验过程中,使用Scala和Java两种不同的编程语言来编写Spark应用程序,并熟悉了使用sbt和Maven工具进行程序的打包和部署。实验中遇到的问题包括程序打包、路径判断和依赖包下载等,这些问题都通过相应的解决方案得到了解决。

实验总结指出,Spark不仅继承了Hadoop MapReduce的优点,还通过将中间结果存储在内存中,避免了频繁的磁盘I/O操作,从而显著提高了数据处理速度。与Hadoop相比,Spark在批处理和内存数据分析方面展现出了更快的速度和更高的性能。

关键词:Spark;Hadoop;大数据;Java;数据处理

一.实验环境:

  1. spark
  2. hadoop
  3. java

二.实验内容与完成情况:

1.安装spark:

2.配置相关的文件:

3.启动spark

4.读取本地文件

获得文件第一行内容:

5.文件内容计数:

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

7.统计这个新的RDD的行数:

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

9.读取文件:

10.使用cat命令获取文件内容:

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

12.使用本地的文件实现词频统计程序

打开文件:

13.遍历文件中的内容,对每个单词进行切分归类:

14.使用键值对的方式对出现的单词进行计数:

15.使用scala编写Spark程序

创建一个文件夹:

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

17.创建一个脚本文件,用于启动sbt:

18.增加权限:

19.查看sbt版本信息:

20.执行命令创建文件夹作为根目录:

21.使用sbt打包scala应用程序

创建编译文件实现程序编写:

22.将整个应用程序打包成为JAR:

23.得到结果:

24.使用java编写Spark程序,熟悉maven打包过程

下载maven:

25.编写java程序:

26.使用vim在对应目录下建立xml文件:

27.maven打包java程序

检查文件结构:

28.将整个程序打包成为jar:

29.通过spark-submit运行程序:

30.查看结果:

三.出现的问题及解决方案:

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

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

3.在进行打包的时候需要进行等待软件包下载好,否则再次进行打包的时候会产生数据的流失。

四.总结:

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

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

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

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

可以判断Spark的速度会比Hadoop更快,Spark的性能更好。