[
https://issues.apache.org/jira/browse/SPARK-13886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15198785#comment-15198785
]
Rishabh Bhardwaj commented on SPARK-13886:
------------------------------------------
If we go through the implementation of `a.equals(b)` in Row then this
comparison boils down comparing `Array(1.toByte) == Array(1.toByte)`, and since
scala uses java Array which is jvm binded so this comparison return false.This
is not the case if you use List.This is explained here in detail:
http://goo.gl/1zVjnx
Correct me if I am going off track here.
> 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}
> Question1: Can the key in MapType be of BinaryType ?
> Question2: Isn't there another way to handle BinaryType by using scala type
> instead of Array ?
> I want to contribute by fixing this issue.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]