[ 
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

Reply via email to