美文网首页
Parquet元数据合并

Parquet元数据合并

作者: 不圆的石头 | 来源:发表于2017-05-09 11:09 被阅读0次

当文件使用Parquet格式时,如果多次生成的文件列不同,可以进行元数据的合并,不用再像关系型数据库那样多个表关联。关键点sqlContext.read.option("mergeSchema",true)

package com.spark.sql

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.{SQLContext, SaveMode}

/**
  * Created by Administrator on 2017/3/12.
  * parquet数据元合并元数据
  */
object ParquetSchemaMerge extends App{
  val conf = new SparkConf()
    .setMaster("local")
    .setAppName("ParquetLoadData")
  val sc = new SparkContext(conf)
  val sqlContext=new SQLContext(sc)
  //导入隐式转换
  import sqlContext.implicits._
  //创建第一个RDD
  val studentWithNameAndAge=Array(("Tom",13),("Mary",14))
  val studentWithNameAndAgeDF=sc.parallelize(studentWithNameAndAge,1).toDF("name","age")
  //保存
  studentWithNameAndAgeDF.write.format("parquet").mode(SaveMode.Append)
    .save("E:\\spark\\src\\main\\resources\\student")

  //创建第二个RDD
  val studentWithNameAndGrade=Array(("Yangql","A"),("Test","B"))
  val studentWithNameAndGradeDF=sc.parallelize(studentWithNameAndGrade).toDF("name","grade")
  studentWithNameAndGradeDF.write.format("parquet").mode(SaveMode.Append)
    .save("E:\\spark\\src\\main\\resources\\student")

  //用mergeSchema的方式读取数据,进行元数据的合并
  val studentsDF=sqlContext.read.option("mergeSchema",true).parquet("E:\\spark\\src\\main\\resources\\student")
  studentsDF.show()
  studentsDF.printSchema()
}

相关文章

  • Parquet元数据合并

    当文件使用Parquet格式时,如果多次生成的文件列不同,可以进行元数据的合并,不用再像关系型数据库那样多个表关联...

  • 合并元数据

    如同ProtocolBuffer,Avro,Thrift一样,Parquet也是支持元数据合并的。用户可以在一开始...

  • 将Avro数据转换为Parquet格式

    本文主要测试将Avro数据转换为Parquet格式的过程并查看 Parquet 文件的 schema 和元数据。 ...

  • Impala--合并小文件

    合并小文件 总结 1.在设置了NUM_NODES=1后,如果合并的数据量超过Impala默认的Parquet Bl...

  • SparkSQL操作外部数据源

    parquet数据 hive表数据 mysql表数据 hive与mysql结合 1.处理parquet数据 启动s...

  • Java操作parquet

    这段时间因为项目,对parquet做了一系列研究,从写入跟踪到合并及spark使用等等场景。选择parquet来对...

  • spark 使用记录case

    case1: Spark SQL缓存了Parquet元数据以达到良好的性能。当Hive metastore Par...

  • Spark开发--Spark SQL--数据源(十六)

    一、数据源   Spark SQL的默认数据源格式为parquet格式。数据源为Parquet文件时,SparkS...

  • 每日一读 12.15

    spark sql编程之实现合并Parquet格式的DataFrame的schema http://www.abo...

  • scala 读取外部数据源以及topK问题

    1.操作Parquet文件数据 读取数据 写数据 以json的形式写在一个新的路径下的文件下源数据是parquet...

网友评论

      本文标题:Parquet元数据合并

      本文链接:https://www.haomeiwen.com/subject/peubtxtx.html