SparkSQL讀取Parquet格式的資料載入DatFrame

yj2434發表於2020-11-03

import org.apache.spark.sql.{DataFrame, SaveMode, SparkSession}

/**

  • 讀取Parquet格式的資料載入DataFrame

  • 注意:

  • 1).parquet是一種列式儲存格式,預設是有壓縮。Spark中常用的一種資料格式

  • 2).讀取Parquet格式的資料兩種方式

  • 3).可以將DataFrame儲存成Json或者Pauquet格式資料,注意儲存模式
    */
    object ReadParquetFileToDF {
    def main(args: Array[String]): Unit = {
    val session: SparkSession = SparkSession.builder()
    .master(“local”)
    .appName(“ReadParquetFileToDF”)
    .getOrCreate()

    session.sparkContext.setLogLevel(“Error”)
    val frame: DataFrame = session.read.json(“T:/code/spark_scala/data/spark/jsondata”)

    /**

    • SaveMode:
    • Append: 追加寫資料
    • ErrorIfExists : 存在就報錯
    • Ignore : 忽略
    • Overwrite : 覆蓋寫資料
      */
      frame.write.mode(SaveMode.Overwrite).parquet(“T:/code/spark_scala/data/spark/parquet”)
      //讀取Parquet格式的資料載入DataFrame
      val df = session.read.format(“parquet”).load(“T:/code/spark_scala/data/spark/parquet”)
      // df.write.json(“T:/code/spark_scala/data/spark/resultJson”)
      df.show(100)
      val l: Long = df.count()
      println(s"total count = $l")
      }
      }

相關文章