-
集合标量行动操作
-
存储行动操作
存储行动操作
-
saveAsTextFile(path: String): Unit
-
saveAsTextFile(path: String, codec: Class[_ <: CompresssionCodec]): Unit
将RDD以文本文件的格式保存到文件系统中,codec参数用于指定压缩类型
-
saveAsSequenceFile(path: String, codec: Option[Class[_ <: CompressionCodec]] = None): Unit
将RDD以Sequence的文件格式保存到HDFS文件系统中
-
saveAsObjectFile(path: String): Unit
将RDD的元素序列化成对象,保存到文件系统中。
scala> var rdd = sc.makeRDD(1 to 10, 2)
rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[82] at makeRDD at <console>:24
// 输出两个文件,因为分区个数为2,每个分区对应一个文件
scala> rdd.saveAsTextFile("/Users/lyf/Desktop/output")
-
saveAsHadoopFile(F <: OutputFormat[K, V])(path: String)(implicit fm: ClassTag[F]): Unit
-
saveAsHadoopFile(F <: OutputFormat[K, V])(path: String, codec: Class[_ <: CompressionCodec])(implicit fm: ClassTag[F]): Unit
-
saveAsHadoopFile(path: String, keyClass: Class[_], valueClass: Class[_], outputFormatClass: Class[_ <: OutputFormat[_, _]], codec: Class[_ <: CompressionCodec]): Unit
-
saveAsHadoopFile(path: String, keyClass: Class[_], valueClass: Class[_], outputFormatClass: Class[_ <: OutputFormat[_, _]], conf: JobConf=……, codec: Option[Class[_ <: CompressionCodec]]=None): Unit
saveAsHadoopFile操作将RDD存储到HDFS上,支持旧Hadoop API,可以指定outputKeyClass、outputValueClass以及压缩格式
-
saveAsHadoopDataset(conf: JobConf): Unit
saveAsHadoopDataset将RDD存储到除了HDFS的其他存储中,比如Hbase。JobConf中通常需要设置5个参数:输出路径、Key的类型、Value的类型、输出格式以及压缩相关的参数
-
saveAsNewAPIHadoopFile[F <: OutputFormat[K, V]](path: String): Unit
-
saveAsNewAPIHadoopFile(path: String, keyClass: Class[_], valueClass: Class[_], outputFormatClass: Class[_ <: OutputFormat[_, _]], conf: Configuration=self.context.hadoopConfiguration): Unit
新版的Hadoop API,功能通saveAsHadoopFile。
-
saveAsNewAPIHadoopDataset(conf: Configutation): Unit
新版的Hadoop API,功能通saveAsHadoopDataset
参考:
[1] 郭景瞻. 图解Spark:核心技术与案例实战[M]. 北京:电子工业出版社, 2017.