Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-12378

Exception on HBaseSerDe.serialize binary field

    Details

      Description

      An issue was reproduced with the binary typed HBase columns in Hive:

      It works fine as below:
      CREATE TABLE test9 (key int, val string)
      STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
      WITH SERDEPROPERTIES (
      "hbase.columns.mapping" = ":key,cf:val#b"
      );
      insert into test9 values(1,"hello");

      But when string type is changed to binary as:
      CREATE TABLE test2 (key int, val binary)
      STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
      WITH SERDEPROPERTIES (
      "hbase.columns.mapping" = ":key,cf:val#b"
      );
      insert into table test2 values(1, 'hello');

      The following exception is thrown:
      Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row

      {"tmp_values_col1":"1","tmp_values_col2":"hello"}

      ...
      Caused by: java.lang.RuntimeException: Hive internal error.
      at org.apache.hadoop.hive.serde2.lazy.LazyUtils.writePrimitive(LazyUtils.java:322)
      at org.apache.hadoop.hive.hbase.HBaseRowSerializer.serialize(HBaseRowSerializer.java:220)
      at org.apache.hadoop.hive.hbase.HBaseRowSerializer.serializeField(HBaseRowSerializer.java:194)
      at org.apache.hadoop.hive.hbase.HBaseRowSerializer.serialize(HBaseRowSerializer.java:118)
      at org.apache.hadoop.hive.hbase.HBaseSerDe.serialize(HBaseSerDe.java:282)
      ... 16 more

      We should support hive binary type column for hbase.

        Attachments

          Activity

            People

            • Assignee:
              ychena Yongzhi Chen
              Reporter:
              ychena Yongzhi Chen
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: