zoukankan      html  css  js  c++  java
  • parquet 合并元数据

    合并元数据:两个数据集,有着一部分相同的列,将他们合并成一个数据集时merge的过程。

    合并的规则:相同的列,在新的数据集中,是通用的列,

    各自不同的列,也作为新的数据集的列。

    Spark将数据写入到HDFS中的parquet为例: 

    准备连个json文件(StudentInfo1.json,StudentInfo2.json),上传到HDFS中: 

     

    spark程序代码如下:

    public static void main(String[] args) {

    SparkConf conf = new SparkConf() 
                .setAppName("MergeSchema");//.setMaster("local");
            JavaSparkContext sc = new JavaSparkContext(conf);
            SQLContext sqlContext = new SQLContext(sc);
            
            DataFrame studentInfo1 = sqlContext.read().format("json").load("hdfs://spark1:9000/StudentInfo1.json");
            studentInfo1.write().mode(SaveMode.Append).save("hdfs://spark1:9000/StudentInfo.parquet");
            
            DataFrame studentInfo2 = sqlContext.read().format("json").load("hdfs://spark1:9000/StudentInfo2.json");
            studentInfo2.write().mode(SaveMode.Append).save("hdfs://spark1:9000/StudentInfo.parquet");
            
            DataFrame studentInfo =sqlContext.read().option("mergeSchema""true")
                    .parquet("hdfs://spark1:9000/StudentInfo.parquet");
            
            studentInfo.printSchema();
            
            studentInfo.show();
        }

    运行后的输出为:

     

  • 相关阅读:
    C对字符串的部分操作
    <string> <string.h>
    最常见的HTTP错误
    python面试题
    玩转type类型(牛逼克拉斯 )
    django路由系统之反向生成url
    django事物回滚
    django中admin路由系统工作原理
    django中的django admin插件
    ajax跨域资源共享
  • 原文地址:https://www.cnblogs.com/key1309/p/5332089.html
Copyright © 2011-2022 走看看