生产环境_Spark找出两DataFrame之间的差集(技巧)

        在生产作业中,经常在工作流中遇到前后两DataFrame的数据缺失,比如df1为410条,下一个节点的df2就变成409条了,用眼睛看很费劲,因此不得不做一个差集。

        代码:

/ 假设df1和df2是你的两个DataFrame  
val df1 = xxx
val df2 = ccc
  
// 使用except操作找出df1中存在但df2中不存在的数据  
val onlyInDf1 = df1.except(df2)  
  
// 使用except操作找出df2中存在但df1中不存在的数据  
val onlyInDf2 = df2.except(df1)  
  
// 结果展示一下  
onlyInDf1.show()  
onlyInDf2.show()

注意如果不是同一个工作流中的代码,要保证列数相等,不然就会报错:

org.apache.spark.sql.AnalysisException:Except can only be performed on tables with the same number of columns,but .......

你可能感兴趣的:(轨迹大数据智能处理,Spark开发_工作,spark,大数据,分布式)