@Override public boolean equals(SparkHashTableSinkOperator op1, SparkHashTableSinkOperator op2) { Preconditions.checkNotNull(op1); Preconditions.checkNotNull(op2); SparkHashTableSinkDesc desc1 = op1.getConf(); SparkHashTableSinkDesc desc2 = op2.getConf(); if (compareObject(desc1.getFilterMapString(), desc2.getFilterMapString()) && compareObject(desc1.getKeysString(), desc2.getKeysString()) && desc1.getPosBigTable() == desc2.getPosBigTable() && compareObject(desc1.getKeysString(), desc2.getKeysString()) && compareObject(desc1.getFiltersStringMap(), desc2.getFiltersStringMap()) && compareObject(desc1.getOutputColumnNames(), desc2.getOutputColumnNames()) && compareObject(desc1.getCondsList(), desc2.getCondsList()) && desc1.getHandleSkewJoin() == desc2.getHandleSkewJoin() && compareString(desc1.getNullSafeString(), desc2.getNullSafeString())) { return true; } else { return false; } } }