首页 > 编程语言 >Spark初级编程实践

Spark初级编程实践

时间:2024-12-30 22:20:27浏览次数:1  
标签:文件 编程 应用程序 初级 Spark 成绩 输入 小新

实验7

Spark初级编程实践

 

1.实验目的

(1)掌握使用Spark访问本地文件和HDFS文件的方法

(2)掌握Spark应用程序的编写、编译和运行方法

2.实验平台

(1)操作系统:Ubuntu18.04(或Ubuntu16.04);

(2)Spark版本:2.4.0;

(3)Hadoop版本:3.1.3。

3.实验步骤

(1)Spark读取文件系统的数据

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

 

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

 

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

 

 

 

 

 

 

 

(2)编写独立应用程序实现数据去重

对于两个输入文件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

 

 

 

 

 

 

(3)编写独立应用程序实现求平均值问题

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

Algorithm成绩:

小明 92

小红 87

小新 82

小丽 90

Database成绩:

小明 95

小红 81

小新 89

小丽 85

Python成绩:

小明 82

小红 83

小新 94

小丽 91

平均成绩如下:

(小红,83.67)

(小新,88.33)

(小明,89.67)

(小丽,88.67)

 

标签:文件,编程,应用程序,初级,Spark,成绩,输入,小新
From: https://www.cnblogs.com/Christmas77/p/18642580

相关文章

  • 【Java编程】JDBC 底层原理
    概述JDBC(JavaDataBaseConnectivity)是Java和数据库之间的一个桥梁,是一个规范而不是一个实现,能够执行SQL语句。JDBC由一组用Java语言编写的类和接口组成。各种不同类型的数据库都有相应的实现,注意:本文中的代码都是针对MySQL数据库实现的。先看一个案例:publicclassJdbcDemo{......
  • 【Node.js编程】实现GET&POST请求
    创建基本的服务器constexpress=require('express');constindexRouter=require('./router');//引入路由constapp=express();constport=3000;//挂载路由app.use('/api',indexRouter);app.listen(port,()=>{console.log(`Serveri......
  • 实验7 文件应用编程
    4.实验任务4:文件简单应用#include<stdio.h>intmain(){FILE*fp;charch;intline=0,num=0;fp=fopen("C:\\Users\\ASUS\\Desktop\\data4.txt","r");if(!fp){printf("fail");r......
  • 实验7 文件应用编程
    实验四:#include<stdio.h>#defineN100intmain(){intm=0,i,num=0;chara[N];FILE*fp;fp=fopen("data4.txt","r");if(!fp){printf("failedtoopen...");return;}while(......
  • 编程全景洞察:从基础架构到前沿创新与行业影响
    由于文章过长,博主写的时候可能会有一些差错以及一些不连贯或者是一些重复,请大家谅解~编程全景洞察:从基础架构到前沿创新与行业影响编程的基础语言与逻辑架构编程的世界始于基础编程语言,它们是构建数字世界的基石。C语言,作为一种经典的系统编程语言,以其简洁高效、直接操......
  • 03、JUC并发编程之:简单概述(三)
    JUC并发编程之:简单概述(三)##本章概述上一篇文章讲述了Monitor主要关注的是访问共享变量时,保证临界区代码的【原子性】本篇我们了解下多线程间的【可见性】与多条指令执行时的【有序性】问题##本章重点JMM:·可见性:由JVM缓存优化引起的·有序性:由JVM指令重排优化引起......
  • Java并发编程为啥这么难学?
    提到并发编程很多人就会头疼了;首先就是一些基础概念:并发,并行,同步,异步,临界区,阻塞,非阻塞还有各种锁全都砸你脸上,随之而来的就是要保证程序运行时关键数据在多线程中的可见性、核心业务的原子性、多线程通信的有序性。虽然很多人工作可能接触不到这些的东西,但是面试就是得问。假如......
  • (数据科学学习手札164)在vscode中调用Deepseek进行AI辅助编程
    本文示例配置文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes1简介大家好我是费老师,最近国产大模型Deepseekv3新版本凭借其优秀的模型推理能力,讨论度非常之高......
  • 实验7 文件应用编程
    4.实验任务4:文件简单应用#include<stdio.h>#include<stdlib.h>voidcountLinesAndChars(constchar*fileName){FILE*fp;intlines=0,chars=0;intch;intinWord=0;fp=fopen(fileName,"r");if(fp==NULL)......
  • 高性能计算-GPU编程模型(21)
    1.GPU的内存模型GPU编程数据需要从CPU主存拷贝到GPU全局存储器,所有线程共享全局存储。开辟的全局存储器空间指针在CPU代码中不能解引用使用,应在计算完结果后再拷贝回CPU主存空间。线程块内共享存储。(1)线程私有的存储有寄存器、本地内存(2)线程块内有块内线程共享的共享内......