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

Exception on HBaseSerDe.serialize binary field

    XMLWordPrintableJSON

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

        1. HIVE-12378.1.patch
          8 kB
          Yongzhi Chen

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: