我有两个具有相同架构的镶木地板文件。我想在Spark java中使用Dataframe将第二个文件与第一个文件合并,而不需要任何重复数据。怎么做?
提前致谢。
答案 0 :(得分:1)
首先,将两个镶木地板文件读入数据框:
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与第一个df合并。最后,由于此函数将保留重复项,因此请使用distinct
:
Dataset<Row> df_merged = df1.union(df2).distinct();
答案 1 :(得分:0)
创建数据框并使用equi-join
val output = df1.join(df2,Seq("id"),joinType="Inner")