使用Spark java中的Dataframe合并两个镶木地板文件

时间:2017-08-14 06:48:27

标签: java apache-spark spark-dataframe parquet

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

提前致谢。

2 个答案:

答案 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")