【问题标题】:Merge two parquet files using Dataframe in Spark java在 Spark java 中使用 Dataframe 合并两个镶木地板文件
【发布时间】:2018-01-21 22:59:54
【问题描述】:

我有两个具有相同架构的镶木地板文件。我想在 Spark java 中使用 Dataframe 将第二个文件与第一个文件合并,而没有任何重复的数据。如何做到这一点?

提前致谢。

【问题讨论】:

    标签: java apache-spark spark-dataframe parquet


    【解决方案1】:

    首先,将您的两个 parquet 文件读入数据帧:

    Dataset<Row> df1 = spark.read.parquet("dataset1.parquet");
    Dataset<Row> df2 = spark.read.parquet("dataset2.parquet");
    

    然后,使用 unionAll (Spark 1.X) 或 union (Spark 2.X) 将第二个 df 与第一个合并。最后,由于这个函数会保持重复,所以使用distinct

    Dataset<Row> df_merged = df1.union(df2).distinct();
    

    【讨论】:

      【解决方案2】:

      创建数据框并使用等值连接

       val output = df1.join(df2,Seq("id"),joinType="Inner")
      

      【讨论】:

        猜你喜欢
        • 2021-02-18
        • 1970-01-01
        • 1970-01-01
        • 2020-01-20
        • 1970-01-01
        • 1970-01-01
        • 2019-11-20
        • 2018-12-25
        • 1970-01-01
        相关资源
        最近更新 更多