[ https://issues.apache.org/jira/browse/HIVE-3868?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13545860#comment-13545860 ]
binlijin commented on HIVE-3868: -------------------------------- The reason is: We use HBase's Bytes to convert long and other data type to byte data and store in hbase. Then use hive to analysis the data in hbase. > Use Hive‘s serde to parse HBase’s byte Data in LazyHBaseRow > ----------------------------------------------------------- > > Key: HIVE-3868 > URL: https://issues.apache.org/jira/browse/HIVE-3868 > Project: Hive > Issue Type: Bug > Components: HBase Handler > Affects Versions: 0.9.0 > Reporter: binlijin > > In LazyHBaseRow, > {code} > private Object uncheckedGetField(int fieldID) { > // it is a column i.e. a column-family with column-qualifier > byte [] res = result.getValue(colMap.familyNameBytes, > colMap.qualifierNameBytes); > if (res == null) { > return null; > } else { > ref = new ByteArrayRef(); > ref.setData(res); > } > if (ref != null) { > fields[fieldID].init(ref, 0, ref.getData().length); > } > } > For example, if the fields[fieldID] is Bigint, and ref stores HBase byte > data (Long), > it will use LazyLong to parse this data and will return NULL value, > it should use Bytes.toLong(res.getData()) to parse this byte data > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira