Spark练习题

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: Spark练习题

hdfs基础操作


删除数据hdfs上的数据

删除文件

hadoop fs -rm /user/root/test.txt


删除目录

hadoop fs -rm -f -r /user/root/test.txt


查看hdfs上的文件

hadoop fs -ls /user/root


练习题1.0


1、将文件上传到hdfs上

[root@hadoop05lyq50 opt]# hdfs dfs -put result_bigdata.txt /user/root
[root@hadoop05lyq50 opt]# hdfs dfs -put result_math.txt /user/root


2、导入到变量(textFile)(创建RDD)

大数据

var bigdata=sc.textFile("/user/root/result_bigdata.txt")
bigdata.collect


数学

var math=sc.textFile("/user/root/result_math.txt")
math.collect


学生

var student=sc.textFile("/user/root/student.txt")
student.collect


3、用\t分割开(splint)

var L_bigdata=bigdata.map(x=>x.split("\t"))             #大数据
L_bigdata.collect
var L_math=math.map(x=>x.split("\t"))                      #数学
L_math.collect
var L_student=student.map(x=>x.split("\t"))                       #学生
L_student.collect


4、把数组转换为元组(提取某几组的数据)(map)

var u_bigdata=L_bigdata.map(x=>(x(0),x(1),x(2).toInt))          #大数据
var u_math=L_math.map(x=>(x(0),x(1),x(2).toInt))                  #大数据
var u_student=L_student.map(x=>(x(0),x(1)))                        #学生


5、合并两个RDD(数学和大数据)(union)

var sum=u_bigdata.union(u_math)                        #大数据和数学
sum.collect


6、用成绩来倒序排序数据(sortBy)

var by_sum=sum.sortBy(x=>x._3,false)


7、获取前3条数据

var data_3=by_sum.take(3)


scala> var data_3=by_sum.take(3) data_3: Array[(String, String, Int)] = Array((1007,大数据基础,100), (1003,应用数学,100), (1004,应用数学,100))            #输出结果


练习题2.0


1、上传到hdfs上

[root@hadoop05lyq50 opt]# hdfs dfs -put users.txt /user/root


2、将文件数据导入到变量中去,并且用“\t”分隔(创建RDD)

var users=sc.textFile("/user/root/users.txt").map(x=>x.split("\t"))
users.collect


3、将数组的数据转化为元组,并提前第二位的数据

var u_users=users.map(x=>(x(1)))
u_users.collect


4、将元组转换为键值对的形式

var users_1=u_users.map(x=>(x,1))
users_1.collect

image.png


5、统计各个地区数量

var data_TJ=users_1.reduceByKey((x,y)=>x+y)
data_TJ.collect

image.png


6、将统计数据以文件形式上传到hdfs上去

data_TJ.saveAsTextFile("/user/root/data_TJ.txt")

image.png


7、将hdfs上的文件下载到本地

image.png

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
固态存储 安全 程序员
搭建程序员个人博客网站的服务器配置怎么选?
搭建个人博客网站时,合理选择服务器配置至关重要。推荐1核CPU、2GiB内存、SSD硬盘及2M-10M带宽,适合大多数个人博客。操作系统方面,Linux更为经济高效。建议选择如阿里云等知名云服务商,同时考虑服务器的可扩展性和安全性,确保网站稳定运行与良好体验。
1304 2
|
自然语言处理 JavaScript 前端开发
正则表达式完整指南(上)
正则表达式完整指南(上)
237 0
|
SQL druid 搜索推荐
最强最全面的数仓建设规范指南 (一)
本文将全面讲解数仓建设规范,从数据模型规范,到数仓公共规范,数仓各层规范,最后到数仓命名规范,包括表命名,指标字段命名规范等!
13622 2
|
缓存 资源调度 持续交付
在清空NPM缓存后,检查是否所有依赖都已正确安装
在清空NPM缓存后,检查是否所有依赖都已正确安装
|
算法 NoSQL IDE
C语言性能优化:代码优化技巧与工具。
C语言性能优化:代码优化技巧与工具。
|
9月前
|
算法 安全 Java
Java线程调度揭秘:从算法到策略,让你面试稳赢!
在社招面试中,关于线程调度和同步的相关问题常常让人感到棘手。今天,我们将深入解析Java中的线程调度算法、调度策略,探讨线程调度器、时间分片的工作原理,并带你了解常见的线程同步方法。让我们一起破解这些面试难题,提升你的Java并发编程技能!
294 16
|
Python
【Python】正则表达式判断是否存在连续相同的两个字符,连续两个字符一模一样
Python函数isContinuousChar,使用正则表达式来检测字符串中是否存在连续的相同字母或数字,并返回存在此类字符的列表长度,如果列表长度为0则表示不存在连续相同的字符。
429 2
|
大数据 Python
【Python DataFrame专栏】DataFrame内存管理与优化:大型数据集处理技巧
【5月更文挑战第20天】本文介绍了使用Python的pandas库优化DataFrame内存管理的六个技巧:1) 查看DataFrame内存占用;2) 使用高效数据类型,如`category`和`int32`;3) 仅读取需要的列;4) 分块处理大数据集;5) 利用`inplace`参数节省内存;6) 使用`eval()`和`query()`进行快速筛选。这些方法有助于处理大型数据集时提高效率。
571 3
【Python DataFrame专栏】DataFrame内存管理与优化:大型数据集处理技巧
|
消息中间件 缓存 Kafka
图解Kafka:架构设计、消息可靠、数据持久、高性能背后的底层原理
【8月更文挑战第15天】在构建高吞吐量和高可靠性的消息系统时,Apache Kafka 成为了众多开发者和企业的首选。其独特的架构设计、消息可靠传输机制、数据持久化策略以及高性能实现方式,使得 Kafka 能够在分布式系统中大放异彩。本文将通过图解的方式,深入解析 Kafka 的这些核心特性,帮助读者更好地理解和应用这一强大的消息中间件。
618 0
|
存储 算法
动态规划算法学习一:DP的重要知识点、矩阵连乘算法
这篇文章是关于动态规划算法中矩阵连乘问题的详解,包括问题描述、最优子结构、重叠子问题、递归方法、备忘录方法和动态规划算法设计的步骤。
828 0