Spark文件的读取和保存

简介: 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()

结语

好了,今天就为大家分享到这里了。咱们下期见!

如果本文对你有帮助的话,欢迎点赞&收藏&分享,这对我继续分享&创作优质文章非常重要。感谢🙏🏻

相关文章
|
JavaScript CDN
js:spark-md5分片计算文件的md5值
js:spark-md5分片计算文件的md5值
1400 0
|
2月前
|
JSON 分布式计算 大数据
大数据-85 Spark 集群 RDD创建 RDD-Action Key-Value RDD详解 RDD的文件输入输出
大数据-85 Spark 集群 RDD创建 RDD-Action Key-Value RDD详解 RDD的文件输入输出
42 1
|
2月前
|
消息中间件 分布式计算 Kafka
大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流
大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流
38 0
|
6月前
|
分布式计算 监控 大数据
spark实战:实现分区内求最大值,分区间求和以及获取日志文件固定日期的请求路径
spark实战:实现分区内求最大值,分区间求和以及获取日志文件固定日期的请求路径
|
7月前
|
SQL 分布式计算 大数据
MaxCompute操作报错合集之spark3.1.1通过resource目录下的conf文件配置,报错如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
7月前
|
SQL 分布式计算 Java
IDEA 打包 Spark 项目 POM 文件依赖
这是一个 Maven POM 示例,用于构建一个使用 Spark 与 Hive 的项目,目标是将数据从 Hive 导入 ClickHouse。POM 文件设置了 Scala 和 Spark 的依赖,包括 `spark-core_2.12`, `spark-sql_2.12`, 和 `spark-hive_2.12`。`maven-assembly-plugin` 插件用于打包,生成包含依赖的和不含依赖的两种 JAR 包。`scope` 说明了依赖的使用范围,如 `compile`(默认),`provided`,`runtime`,`test` 和 `system`。
127 0
|
SQL 缓存 分布式计算
SPARK中InMemoryFileIndex文件缓存导致的REFRESH TABLE tableName问题
SPARK中InMemoryFileIndex文件缓存导致的REFRESH TABLE tableName问题
288 0
|
JSON 分布式计算 监控
Spark案例读取不同格式文件以及读取输入数据存入Mysql
Spark案例读取不同格式文件以及读取输入数据存入Mysql
|
SQL JSON 分布式计算
spark2 sql读取json文件的格式要求
spark2 sql读取json文件的格式要求
185 0
spark2 sql读取json文件的格式要求
|
缓存 分布式计算 Spark
Spark之Shuffle机制及其文件寻址详解
Spark之Shuffle机制及其文件寻址详解
215 0
Spark之Shuffle机制及其文件寻址详解