package com.zyc.spark
import org.apache.spark.{SparkConf, SparkContext}
/**
* Created with IntelliJ IDEA.
* Author: zyc2913@163.com
* Date: 2020/9/28 15:56
* Version: 1.0
* Description:文件保存方式
*/
object StudySave {
def main(args: Array[String]): Unit = {
//spark环境创建
val conf = new SparkConf()
.setMaster("local[2]") //设置本机的两个核心
.setAppName("demo7")
val sc = new SparkContext(conf)
/**
* 1. saveAsTextFile() 将RDD的数据保存到文本文件,对于每个元素,Spark将会调用toString方法,将它转换为文件中的文本
*/
val rdd = sc.makeRDD(1 to 10)
rdd.repartition(1)
// .saveAsTextFile("C:\\Users\\Administrator\\Desktop\\book\\output")
/**
* 2. saveAsSequenceFile() 将RDD的数据保存到序列文件,将数据集中的元素以Hadoop sequencefile的格式保存到指定的目录下,可以使HDFS或者其他Hadoop支持的文件系统。
*/
/**
* 3. saveAsObjectFile() 将RDD保存在对象文件,用于将RDD中的元素序列化成对象,存储到文件中。
* 如果不设置分区数,那么默认是几个分区就会生成几个文件
*/
rdd.saveAsObjectFile("C:\\Users\\Administrator\\Desktop\\book\\output")
}
}