[ https://issues.apache.org/jira/browse/HIVE-8745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14199960#comment-14199960 ]
Jason Dere commented on HIVE-8745: ---------------------------------- {quote} If the serde needs to remove trailing zeros during serialization, this is fine as long as it can get them back upon deserialization. {quote} What I'm saying is I don't think it's possible to get the trailing zeros back upon deserialization. Since this is BinarySortableSerde, the comparison is based on the bytes representing the decimal value. If we had a way to differentiate 1.0 from 1.00 during deserialization, then there would have to be something in the BinarySortable representation of the decimal value to specify one trailing zero vs two trailing zeros, which would make the bytes comparison fail between 1.0 and 1.00. So the trailing zeros would be permanently trimmed. > Joins on decimal keys return different results whether they are run as reduce > join or map join > ---------------------------------------------------------------------------------------------- > > Key: HIVE-8745 > URL: https://issues.apache.org/jira/browse/HIVE-8745 > Project: Hive > Issue Type: Bug > Affects Versions: 0.14.0 > Reporter: Gunther Hagleitner > Assignee: Jason Dere > Priority: Critical > Fix For: 0.14.0 > > Attachments: join_test.q > > > See attached .q file to reproduce. The difference seems to be whether > trailing 0s are considered the same value or not. -- This message was sent by Atlassian JIRA (v6.3.4#6332)