web-dev-qa-db-ja.com

Spark:2つのDataFramesを減算します

Spark version 1.2.では、subtractを2つのSchemRDDsと共に使用して、最初のコンテンツとは異なるコンテンツのみを作成できます。

val onlyNewData = todaySchemaRDD.subtract(yesterdaySchemaRDD)

onlyNewDataには、todaySchemRDDに存在しないyesterdaySchemaRDDの行が含まれます。

SparkバージョンのDataFramesバージョン1.3.でこれをどのように実現できますか?

40
Interfector

api docs によると、次のようにします。

dataFrame1.except(dataFrame2)

dataFrame1の行を含むが、dataframe2の行を含まない新しいDataFrameを返します。

63

Pysparkでは DOCS 減算されます

df1.subtract(df2)
31
Teja

減算しようとしましたが、結果は一貫していませんでした。 df1.subtract(df2)を実行すると、結果データフレームにdf1のすべての行が表示されるわけではありません。おそらく、ドキュメントで引用されているdistinctが原因です。

これで私の問題が解決しました:df1.exceptAll(df2)

3
Arthur Julião