gora-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alfonso Nishikawa (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GORA-195) [gora-hbase] Allow mapping of an array to a single column
Date Mon, 07 Jan 2013 15:10:13 GMT

    [ https://issues.apache.org/jira/browse/GORA-195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13545948#comment-13545948

Alfonso Nishikawa commented on GORA-195:

Hi, Ferdy.
Thanks for resuming all in those two options :)

I suggest at least your option a) to throw and exception, but I wish we implement (or maybe
should speak in singular;) option b), since at this moment it is possible map an Array/Map
to a family:column wrapping (workaround) it in a record.
When working with objects with wrapped Arrays/Maps, sourcecode gets dirty since you have to
check if the wrapper is Null/not null, and then access the Array/Map, etc.

This is a low importance issue. No votes, as I can see at left column ;)
> [gora-hbase] Allow mapping of an array to a single column
> ---------------------------------------------------------
>                 Key: GORA-195
>                 URL: https://issues.apache.org/jira/browse/GORA-195
>             Project: Apache Gora
>          Issue Type: Improvement
>          Components: storage-hbase
>    Affects Versions: 0.2.1
>         Environment: HBase 0.90.4 backend, Hadoop 1.0.1
>            Reporter: Alfonso Nishikawa
>            Priority: Trivial
> At this time, defining a mapping in HBase for an array field to a family:column like
> {code}
> {"name": "A",
>  "fields": [
>         {"name": "field",  "type": {"type": "array", "values": "string"}}
>    ]
> }
> <class name="A" ...>
>   <field name="field" family="r" qualifier="c"/>
> </class>
> {code}
> in HBase is discouraging since gets to an unexpected behavior loading parts of the rest
of the record.
> So: by now only is allowed mappings of arrays(and maps) to families.
> Workaround: enclose the array inside an inner optional record like this:
> {code}
> {"name": "A",
>  "fields": [
>         {"name":"holder", "type:" ["null", {
>                     "name":"holderRecord",
>                     "type":"record",
>                     "fields": [
>                          {"name": "field",  "type": {"type": "array", "values": "string"}}
>                      ]
>         }}
>    ]
> }
> {code}
> The necessity comes partially if you don't want to create a family for each array in
you HBase database (advised not to do), or if you just want to map to a column when your array
is read-only.

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

View raw message