オブジェクト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() } }