diff --git a/omnioperator/omniop-spark-extension/java/src/main/scala/com/huawei/boostkit/spark/expression/OmniExpressionAdaptor.scala b/omnioperator/omniop-spark-extension/java/src/main/scala/com/huawei/boostkit/spark/expression/OmniExpressionAdaptor.scala index dbda2a73b1752b4470ef7ae1a843ffa623282271..ffdf5852b620d533e62cf714d62b9fe64842a85b 100644 --- a/omnioperator/omniop-spark-extension/java/src/main/scala/com/huawei/boostkit/spark/expression/OmniExpressionAdaptor.scala +++ b/omnioperator/omniop-spark-extension/java/src/main/scala/com/huawei/boostkit/spark/expression/OmniExpressionAdaptor.scala @@ -53,7 +53,8 @@ object OmniExpressionAdaptor extends Logging { } def getExprIdMap(inputAttrs: Seq[Attribute]): Map[ExprId, Int] = { var attrMap: Map[ExprId, Int] = Map() - inputAttrs.zipWithIndex.foreach { case (inputAttr, i) => + inputAttrs.zipWithIndex.foreach { case (inputAttr, i) + if (!attrMap.contains(inputAttr.exprId)) => attrMap += (inputAttr.exprId -> i) } attrMap