将DataFrame转为Json文件
json在读取数据的时候会读取schema描述信息,读取全部数据,才能确定类型
写出文件二种方式
//df2.write.mode(SaveMode.Append).json("out/boy") df2.write.mode(SaveMode.Append).format("json").save("out2/boy")
读取文件二种方式
//获取数据的schema信息,每一行都有读取,将描述信息返回Driver端了 //val df: DataFrame = spark.read.json("data/user.json")
val df: DataFrame = spark.read.format("json").load("data/user.json")
json将描述信息返回到Driver端,它是最特殊的,它读取每一行数据,才能确定属性
读取json,过滤掉脏数据
object CreateDataFrameFromJSON {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder().appName(this.getClass.getSimpleName).master("local[*]").getOrCreate()
val df = spark.read.json("bigdata\user.json")
df.printSchema()
/* import spark.implicits._
df.where($"_corrupt_record" isNull).show()*/
df.filter(it=>{
it.getString(0)==null
}).select("name","age").show()
spark.stop()
}
}
