1. 本地文件的读写
1.1 读文件
import org.apache.spark.sql.SparkSession
val inputPath = "file:///Users/zz/Desktop/aa.sh"
val rdd = spark.sparkContext.textFile(inputPath)
上面代码执行后,因为Spark的惰性机制,并不会真正执行,所以即使路径错误,此时也不会报错。
1.2 写文件
val outputPath = "/Users/zz/Desktop/output"
rdd.saveAsTextFile(outputPath)
// 再次加载
val rdd = spark.sparkContext.textFile(outputPath)
2. HDFS文件的读写
val inputPath = "hdfs://localhost:9000/user/zz/aa.sh"
val rdd = spark.sparkContext.textFile(inputPath)
val outputPath = "hdfs://localhost:9000/user/zz/output"
rdd.saveAsTextFile(outputPath)
3. JSON文件的读写
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。
aa.json
{"name": "aa"} {"name": "bb", "age":30}{"name": "cc", "age":18}
val inputPath = "/Users/zenmen/Desktop/aa.json"
val rdd = spark.sparkContext.textFile(inputPath)
rdd.foreach(println)
JSON数据解析
import scala.util.parsing.json.JSON
val inputPath = "/Users/zenmen/Desktop/aa.json