SparkSQL -jext外部データソースファイルを書き込み、読み出し、書き込みデータソーステーブル

オブジェクトParquetFileTest { 
  DEFメイン(引数:配列[文字列]):単位= { 
    ヴァルスパーク= SparkSession 
      .builder()
      .appName( "ParquetFileTest")
      .getOrCreate()

    // 1:将JSON文件数据转化成寄木文件数据
    ヴァルDF = spark.read.json(S "$ {BASE_PATH} /people.json")
    df.show()

    // GZIP、LZO、スナッピー
    df.write.option( "圧縮"、 "スナッピー")。寄木細工(S "$ {BASE_PATH} /寄木細工")
    // 2:读取寄木文件
    ヴァルparquetDF = spark.read.parquet(S "$ {BASE_PATH} /寄木細工")
    parquetDF.show()

    // 3:寄木細工スキーママージ 
    //真のグローバル設定spark.sql.parquet.mergeSchema =
    DF。 toDF( "年齢"、 "FIRST_NAME")。write.parquet(S」$ {BASE_PATH} / parquet_schema_change」)
    ヴァルchangedDF = spark.read.parquet(S "$ {BASE_PATH} / parquet_schema_change")
    changedDF.show()

    ヴァルschemaMergeDF = spark.read.option( "mergeSchema"、 "真")。寄木細工(S "$ {} BASE_PATH /寄木細工」
      の"$ {BASE_PATH} / parquet_schema_change")
    schemaMergeDF.show()

    spark.stop()
  } 
}

  

 

OrcFileTest {オブジェクト
  デフメイン(引数を:配列[文字列]):単位= { 
    ヴァルスパーク= SparkSessionの
      .builder()
      .appName( "OrcFileTest")
      .getOrCreate()

    // 1:将JSON文件数据转化成ORC文件数据
    ヴァルDF = spark.read.json(S "$ {BASE_PATH} /people.json")
    df.show()

    df.write.option( "圧縮"、 "スナッピー")。ORC(S "$ {BASE_PATH} / ORC ")

    ヴァルorcFileDF = spark.read.orc(S" $ {BASE_PATH} / ORC」)
    orcFileDF.show()

    spark.stop()
  } 
}

  

おすすめ

転載: www.cnblogs.com/tesla-turing/p/11489093.html