我有两个非常大的spark数据帧。我想在行级别进行比较,仅打印差异
例如:
df1= firstname:abc lastname:xyz company:123
df2= firstname:abc lastname:xyz company:456
预期的输出-diff= company(df1):123 company(df2):456
答案 0 :(得分:0)
就我而言,您所描述的问题还没有最佳解决方案。因为,只有在两个数据帧都可以连接到的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|
+-----+-----+-----+
答案 1 :(得分:0)