Spark文件的读取和保存

大家好,我是风云,欢迎大家关注我的个人原创公众号【笑看风云路】获取更多大数据技术干货,在未来的日子里我们一起来学习大数据相关的技术,一起努力奋斗,遇见更好的自己!
扫码进,更快捷:
笑看风云路

前言

在Spark中,提供了多种文件格式的读取和保存的API。数据的读取和保存可以从两个维度来区分:文件格式和文件系统。

  • 文件格式分类:text文件、Object文件和sequence文件。
  • 文件系统分类:本地文件系统、HDFS等。

解释:

object文件:即对象文件,是将对象序列化后保存的文件,采用Java序列化机制。由于经过了序列化,故在读取数据的时候,需要指定对象类型。

sequence文件:是Hadoop用来存储二进制形式的K-V键值对而设计的一种平面文件(FlatFile)。读取数据的时候需要指定K-V所对应的数据类型。

文件保存

val conf = new SparkConf().setMaster("local").setAppName("Test")
val sc = new SparkContext(conf)
val rdd = sc.makeRDD(List(
    ("a", 1),
    ("b", 2),
    ("c", 3)
))

// 保存为text文件
rdd.saveAsTextFile("output")
// 保存为Object文件
rdd.saveAsObjectFile("output1")
// 保存为sequence文件
rdd.saveAsSequenceFile("output2")

sc.stop()

文件读取

val conf = new SparkConf().setMaster("local").setAppName("Test")
val sc = new SparkContext(conf)

// 读取text文件
val rdd = sc.textFile("output")
println(rdd.collect().mkString(","))

// 读取object文件
val rdd1 = sc.objectFile[(String, Int)]("output1")
println(rdd1.collect().mkString(","))

// 读取sequence文件
val rdd2 = sc.sequenceFile[String, Int]("output2")
println(rdd2.collect().mkString(","))

sc.stop()

结语

好了,今天就为大家分享到这里了。咱们下期见!
如果本文对你有帮助的话,欢迎点赞&收藏&分享,这对我继续分享&创作优质文章非常重要。感谢🙏🏻

–END–

非常欢迎大家加我个人微信,有关大数据的问题我们一起讨论。
在这里插入图片描述

扫码上方二维码,加我微信

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑看风云路

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值