[ https://issues.apache.org/jira/browse/HIVE-3868?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
binlijin updated HIVE-3868: --------------------------- Description: 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} was: 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); } } {code} > 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