数据读取和保存
文件格式:Text文件,Json文件,Csv文件,Sequence文件,Object文件
文件系统:本地文件系统,HDFS,HBASE以及数据库
import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} import scala.util.parsing.json.JSON //map(func) object json { def main(args: Array[String]): Unit = { //本地模式 val conf: SparkConf = new SparkConf().setAppName("My scala word count").setMaster("local") //创建spark上下文对象 val sc = new SparkContext(conf) //1.txt文件,csv文件,json文件,hdfs文件 //json文件的每一行是一个json目录 //读取;sc.textFile val textRDD: RDD[String] = sc.textFile("in/user.txt") textRDD.foreach(println) //保存:value.saveAsTextFile textRDD.saveAsTextFile("out/user.txt") //2.sequence文件 //sequence文件是Hadoop用来存放二进制形式的key-value对而涉及的一种平面文件(Flat File) //读取:sc.sequenceFile val sequenceFileRDD: RDD[(String, Int)] = sc.sequenceFile[String,Int]("out/userSeqFile") sequenceFileRDD.foreach(println) //保存:value.saveAsSequenceFile val value: RDD[(String, Int)] = sc.makeRDD(List(("qiao",123),("wang",456),("li",789))) value.saveAsSequenceFile("out/userSeqFile") //3.对象文件 //对象文件是将对象序列化之后保存的文件,采用java的序列化机制 //读取:sc.objectFile val objectRDD: RDD[Nothing] = sc.objectFile("out/userObjectFile") objectRDD.foreach(println) //保存:value.saveAsObjectFile val rdd: RDD[Int] = sc.makeRDD(List(1,2,3,4)) val objectRDD2: Unit = rdd.saveAsObjectFile("out/userObjectFile") // sc.stop() } }
posted on 2020-09-30 14:35 happygril3 阅读(117) 评论(0) 收藏 举报
浙公网安备 33010602011771号