You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@accumulo.apache.org by "William Slacum (JIRA)" <ji...@apache.org> on 2012/07/21 20:05:35 UTC

[jira] [Commented] (ACCUMULO-697) Break Scanner parameterization from Key,Value to Key,{Something}

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

William Slacum commented on ACCUMULO-697:
-----------------------------------------

Does this work with client side iterators only? The top level iterator will usually be running server side, so you'll need to have an interface to set a serializer for some object at the top of the stack (and possibly another deserializer if you have custom iterators beneath it) and set a deserializer at the client level. At some point on the server side, the iterator will have to transform the user type into a {{byte[]}}, which is basically what a {{Value}} is. On the client side, the user will still have to supply code to deserialize the {{byte[]}}, which can already be accomplished with no code changes by using a library such as Google Collections/Guava or Apache Commons.

                
> Break Scanner parameterization from Key,Value to Key,{Something}
> ----------------------------------------------------------------
>
>                 Key: ACCUMULO-697
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-697
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: client
>    Affects Versions: 1.5.0
>            Reporter: Josh Elser
>            Assignee: Josh Elser
>
> When writing a custom iterator, many times the iterator has some semantic knowledge of what each Key/Value being returned actually means (e.g. A word count could be returning Key/Value but really is returning an Integer/Long count in the Value). This forces the client to know what is going to be returned and handle the cast/transformation.
> I believe it should be fairly straightforward to encapsulate this transformation inside the Accumulo client code. I plan on investigating the possibility of changing the ScannerBase impl, or perhaps making a TypedScannerBase, in which the iterator at the "top" of the stack for a scan can return something other than a Value to the client.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira