簡體   English   中英

如何在行級別比較兩個海量火花數據幀並打印差異

[英]How to compare two massive spark dataframes on row level and print the difference

我有兩個非常大的火花數據框。 我想在行級別比較它並只打印差異

例如:

df1= firstname:abc lastname:xyz company:123


df2= firstname:abc lastname:xyz company:456


預期產出- diff= company(df1):123 company(df2):456

就我而言,您所描述的問題沒有最佳解決方案。 因為,只有當您擁有可以連接兩個數據框的column/reference時,才能找到數據框之間的差異。

有了這個注意,一種方法是使用subtract函數找到在某種程度上有所幫助的差異。

>>> df_1.show()
+-----+-----+-----+
|fname|lname|cmpny|
+-----+-----+-----+
|  abc|  xyz|  123|
+-----+-----+-----+

>>> df_2.show()
+-----+-----+-----+
|fname|lname|cmpny|
+-----+-----+-----+
|  abc|  xyz|  456|
+-----+-----+-----+

>>> df_1.select('*').subtract(df_2.select('*')).show()
+-----+-----+-----+
|fname|lname|cmpny|
+-----+-----+-----+
|  abc|  xyz|  123|
+-----+-----+-----+

>>> df_2.select('*').subtract(df_1.select('*')).show()
+-----+-----+-----+
|fname|lname|cmpny|
+-----+-----+-----+
|  abc|  xyz|  456|
+-----+-----+-----+

我想你正在尋找除了

df1.except(df2)

將返回 df1 中而不是 df2 中的行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM