You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Swarnim Kulkarni (JIRA)" <ji...@apache.org> on 2015/08/13 07:37:47 UTC

[jira] [Commented] (HIVE-8871) Hive Hbase Integration : Support for NULL value columns

    [ https://issues.apache.org/jira/browse/HIVE-8871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14694725#comment-14694725 ] 

Swarnim Kulkarni commented on HIVE-8871:
----------------------------------------

[~jasperknulst] If I understand this request right, you are proposing that we represent columns which do not have values as empty jsons? Personally I think that is ok but wouldn't that make it harder to differentiate between columns which do not have any values vs those which have actual empty values? For instance, today you can run a IS NULL query and quickly figure out the columns which do not have any values. Wouldn't figuring things like this become harder with the pattern that you are proposing?

> Hive Hbase Integration : Support for NULL value  columns
> --------------------------------------------------------
>
>                 Key: HIVE-8871
>                 URL: https://issues.apache.org/jira/browse/HIVE-8871
>             Project: Hive
>          Issue Type: Bug
>          Components: HBase Handler
>    Affects Versions: 0.10.0
>            Reporter: Jasper Knulst
>              Labels: features
>
> If you map a Hive column to a Hbase CF where the CF only has qualifiers but no values, Hive always outputs ' {} ' for that key. This hides the fact that qualifiers do exist within the CF. As soon as you put a single byte (like a space) as value you'll get a return like this ' {"20140911"," "} in Hive.
> Since it is a common data modelling technique in Hbase to not use the value (and essentially use the qualifier in a CF as value holder) I think it would be worthwhile to have some support for this in the Hbase handler. 
> A solution could be to show a data structure like  CF:qualifier:<NULL> like this: {"20140911",""}
> , where '20140911' is the qualifier and NULL value in Hbase are shown as empty json strings.
> CREATE EXTERNAL TABLE hb_test (
>   userhash string,
>   count bigint,
>   dates map<string,string>)
> STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
> WITH SERDEPROPERTIES (
>   "hbase.columns.mapping" =
>   ":key,SUM:COUNT,DATES:",
> "hbase.table.default.storage.type" = "binary"
> )
> TBLPROPERTIES("hbase.table.name" = "test");



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)