[ 
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 this:
> {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

Reply via email to