[ https://issues.apache.org/jira/browse/SPARK-13886?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
MahmoudHanafy updated SPARK-13886: ---------------------------------- Description: There are multiple types that are supoprted by Spark SQL, One of them is ArrayType(Seq) which can be of any element type So it can be BinaryType(Array\[Byte\]) In equals method in Row class, there is no handling for ArrayType of BinaryType. So for example: {code:xml} val a = Row( Seq( Array(1.toByte) ) ) val b = Row( Seq( Array(1.toByte) ) ) a.equals(b) // this will return false {code} Also, this doesn't work for MapType of BinaryType. {code:xml} val a = Row( Map(1 -> Array(1.toByte) ) ) val b = Row( Map(1 -> Array(1.toByte) ) ) a.equals(b) // this will return false {code} Question: Can the key in MapType be of BinaryType ? Question: Why do you use Array[Byte] as Binary type ? Why not Seq[Byte] ? All this overhead here because using Array and it needs special handling I want to contribute by fixing this issue. was: There are multiple types that are supoprted by Spark SQL, One of them is ArrayType(Seq) which can be of any element type So it can be BinaryType(Array\[Byte\]) In equals method in Row class, there is no handling for ArrayType of BinaryType. So for example: {code:xml} val a = Row( Seq( Array(1.toByte) ) ) val b = Row( Seq( Array(1.toByte) ) ) a.equals(b) // this will return false {code} Also, this doesn't work for MapType of BinaryType. {code:xml} val a = Row( Map(1 -> Array(1.toByte) ) ) val b = Row( Map(1 -> Array(1.toByte) ) ) a.equals(b) // this will return false {code} Question: Can the key in MapType be of BinaryType ? Question: Why do you use Array[Byte] as Binary type ? Why not Seq[Byte] ? All this overhead here because using Array and it needs special handling I want to contribute by fixing this issue. > ArrayType of BinaryType not supported in Row.equals method > ----------------------------------------------------------- > > Key: SPARK-13886 > URL: https://issues.apache.org/jira/browse/SPARK-13886 > Project: Spark > Issue Type: Bug > Components: SQL > Reporter: MahmoudHanafy > Priority: Minor > > There are multiple types that are supoprted by Spark SQL, One of them is > ArrayType(Seq) which can be of any element type > So it can be BinaryType(Array\[Byte\]) > In equals method in Row class, there is no handling for ArrayType of > BinaryType. > So for example: > {code:xml} > val a = Row( Seq( Array(1.toByte) ) ) > val b = Row( Seq( Array(1.toByte) ) ) > a.equals(b) // this will return false > {code} > Also, this doesn't work for MapType of BinaryType. > {code:xml} > val a = Row( Map(1 -> Array(1.toByte) ) ) > val b = Row( Map(1 -> Array(1.toByte) ) ) > a.equals(b) // this will return false > {code} > Question: Can the key in MapType be of BinaryType ? > Question: Why do you use Array[Byte] as Binary type ? Why not Seq[Byte] ? > All this overhead here because using Array and it needs special handling > I want to contribute by fixing this issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org