大数据实验 实验六:Spark初级编程实践

这篇具有很好参考价值的文章主要介绍了大数据实验 实验六:Spark初级编程实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Spark初级编程实践

实验环境:Windows 10 Oracle VM VirtualBox
虚拟机:cnetos 7
Hadoop 3.3

实验内容与完成情况:

1. 安装hadoop和spark

因为Hadoop版本为3.3所以在官网选择支持3.3的spark安装包
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
解压安装包到指定文件夹

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
配置spark-env.sh
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
启动成功
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件

2. Spark读取文件系统的数据

(1) 在spark-shell中读取Linux系统本地文件“/home/hadoop/test.txt”,然后统计出文件的行数;

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件

(2) 在spark-shell中读取HDFS系统文件“/user/hadoop/test.txt”(如果该文件不存在,请先创建),然后,统计出文件的行数;

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件

(3) 编写独立应用程序(推荐使用Scala语言),读取HDFS系统文件“/user/hadoop/test.txt”(如果该文件不存在,请先创建),然后,统计出文件的行数;通过sbt工具将整个应用程序编译打包成 JAR包,并将生成的JAR包通过 spark-submit 提交到 Spark 中运行命令。

编写程序
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件

安装sbt

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
程序编译

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件

使用命令/software/spark-3.4.0-bin-hadoop3/bin/spark-submit --class “hdfstest” /software/hdfstest/target/scala-2.12/a-simple-hdfs-test_2.12-1.0.jar >& 1 |grep The 运行jar包
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
运行成功

3. 编写独立应用程序实现数据去重

对于两个输入文件 A 和 B,编写 Spark 独立应用程序(推荐使用 Scala 语言),对两个文件进行合并,并剔除其中重复的内容,得到一个新文件 C。下面是输入文件和输出文件的一个样例,供参考。

输入文件 A 的样例如下:
20170101 x
20170102 y
20170103 x
20170104 y
20170105 z
20170106 z
输入文件 B 的样例如下:
20170101 y
20170102 y
20170103 x
20170104 z
20170105 y
根据输入的文件 A 和 B 合并得到的输出文件 C 的样例如下:
20170101 x
20170101 y
20170102 y
20170103 x
20170104 y
20170104 z
20170105 y
20170105 z
20170106 z

编写文件A B
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
配置编译选项
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
编译代码
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
使用/software/spark-3.4.0-bin-hadoop3/bin/spark-submit --class “RemDup” /software/RemDup/target/scala-2.12/remove-duplication_2.12-1.0.jar 命令运行jar包

运行

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
查看运行结果

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件

4. 编写独立应用程序实现求平均值问题

每个输入文件表示班级学生某个学科的成绩,每行内容由两个字段组成,第一个是学生名字,第二个是学生的成绩;编写 Spark 独立应用程序求出所有学生的平均成绩,并输出到一个新文件中。下面是输入文件和输出文件的一个样例,供参考。

Algorithm 成绩:
小明 92
小红 87
小新 82
小丽 90
Database 成绩:
小明 95
小红 81
小新 89
小丽 85
Python 成绩:
小明 82
小红 83
小新 94
小丽 91
平均成绩如下:
(小红,83.67)
(小新,88.33)
(小明,89.67)
(小丽,88.67)

编译被操作文件 Algorithm database python

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
编写代码文件
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件

编写配置文件

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
程序打包
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
使用命令/software/spark-3.4.0-bin-hadoop3/bin/spark-submit --class “AvgScore” /software/AvgScore/target/scala-2.12/average-score_2.12-1.0.jar运行程序

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
查看结果spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件

出现的问题

问题一

运行start-all命令时spark报错
说缺少依赖

问题二

在etc/profile中更改完环境后
Source命令刷新文件仍然出现路径配置错误
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件

问题三

在用sbt编译的过程中报错

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件

解决方案

问题一

在下载安装包时版本选择错误

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
将安装包换为
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件

问题二

因为之前开启了两个窗口进行命令操作
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
在一个窗口刷新在另一个窗口使用start-all命令
于是在同一个窗口source一下

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件成功启动,问题解决

问题三

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件

spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
将编译的sbt文件配置改为启动spark-shell中现实的scala的版本号,不能使用,在etc/profile注册路径中的版本

完成编译
spark 读取文件系统的数据 (1)在spark-shell中读取 linux操作系统本地文件
问题解决文章来源地址https://www.toymoban.com/news/detail-766327.html

到了这里,关于大数据实验 实验六:Spark初级编程实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 大数据技术原理及应用课实验7 :Spark初级编程实践

    实验7  Spark初级编程实践 一、实验目的 1. 掌握使用Spark访问本地文件和HDFS文件的方法 2. 掌握Spark应用程序的编写、编译和运行方法 二、实验平台 1. 操作系统:Ubuntu18.04(或Ubuntu16.04); 2. Spark版本:2.4.0; 3. Hadoop版本:3.1.3。 三、实验步骤(每个步骤下均需有运行截图) 实

    2024年01月22日
    浏览(51)
  • Spark 初级编程实践

    什么是Spark? Spark是一个快速、通用、可扩展的大数据处理引擎,最初由加州大学伯克利分校的AMPLab开发。它提供了高级API,用于在大规模数据集上执行并行处理。Spark支持多种编程语言,包括Java、Scala、Python和R,因此被广泛应用于大数据分析和机器学习等领域。 1、掌握使用

    2024年02月02日
    浏览(37)
  • Spark综合大作业:RDD编程初级实践

    Spark综合大作业:RDD编程初级实践 实验配置:操作系统:Ubuntu16.04 | 环境:Spark版本:2.4.0 | 软件:Python版本:3.4.3。 (1)熟悉Spark的RDD基本操作及键值对操作; (2)熟悉使用RDD编程解决实际具体问题的方法。 本次大作业的实验是操作系统:Ubuntu16.04,Spark版本:2.4.0,Python版

    2023年04月26日
    浏览(45)
  • 大数据实验三-HBase编程实践

    目录 一.实验内容 二.实验目的 三.实验过程截图及说明 1、安装HBase 2、配置伪分布式模式: 3、使用hbase的shell命令来操作表: 4、使用hbase提供的javaAPI来编程实现类似操作: 5、实验总结及心得体会 6、完整报告在文章开头,挂载。 HBase编程实践: 1)在Hadoop基础上安装H

    2024年04月12日
    浏览(62)
  • 大数据编程实验一:HDFS常用操作和Spark读取文件系统数据

    这是我们大数据专业开设的第二门课程——大数据编程,使用的参考书是《Spark编程基础》,这门课跟大数据技术基础是分开学习的,但这门课是用的我们自己在电脑上搭建的虚拟环境进行实验的,不是在那个平台上,而且搭建的还是伪分布式,这门课主要偏向于有关大数据

    2024年04月10日
    浏览(52)
  • 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 Streaming编程

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

    2024年02月03日
    浏览(37)
  • 大数据实验 实验二:熟悉HDFS常用操作

    附件中有word版本的实验报告 理解HDFS在Hadoop体系结构中的角色。 熟练使用HDFS操作常用的Shell命令。 熟悉HDFS操作常用的Java API。 Oracle VM VirtualBox虚拟机 系统版本centos7 JDK1.8版本 Hadoop-3.1.3 Windows11 Java IDE:IDEA 1.向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户

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

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

    2024年04月27日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包