[
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