1. 程式人生 > >十二.SparkSQL中json資料檔案轉換成parquet檔案

十二.SparkSQL中json資料檔案轉換成parquet檔案

第一步
     首先在本地建立一個json檔案,名字叫json_schema_infer.json,檔案中資料的格式如下:

{"name":"liguohui","gender":"M","height":160}
{"name":"zhangsan","gender":"F","height":175,"age":26}
{"name":"wangwu","gender":"M","height":180.3}

第二步
     讀取json配置檔案,返回DataFrame型別的資料:

val df = spark.read.format("json").load("json_schema_infer.json")

第三步
     把讀取到的json檔案中的資料寫到parquet檔案中:

df.write.format("parquet").save("/Users/fish/spark-sql/sparksql/tmp")

之後會在/Users/fish/spark-sql/sparksql/tmp 目錄下生成以.parquet結尾的檔案.

第四步
     demo實戰示例:

import org.apache.spark.sql.SparkSession
object SchemaInfoApp {

  def main(args: Array[String]): Unit = {

    val spark =SparkSession.builder().appName("SchemaInfoApp").master("local[2]").getOrCreate()

    val df = spark.read.format("json").load("json_schema_infer.json")

    df.write.format("parquet").save("/Users/fish/spark-sql/sparksql/tmp")

    df.printSchema()

    df.show()

    spark.stop()
  }
}

第五步
schema方法的列印結果
在這裡插入圖片描述

show方法的列印結果:

在這裡插入圖片描述
至此就完成了由json檔案讀取轉換成DataFrame型別的檔案,再以parquet的形式寫入到檔案中的過程.