[
https://issues.apache.org/jira/browse/ACCUMULO-3733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14496345#comment-14496345
]
Keith Turner commented on ACCUMULO-3733:
----------------------------------------
Would be nice to do some measurements to show this is a problem. Putting
performance aside, this is cumbersome from an API standpoint.
We could have a constructor for mutation that takes a Key Value. Maybe that
would make this a little less cumbersome and possibly be more optimal.
{code:java}
class Mutation {
/**
* Optimally creates a mutation from a Key Value
*/
public Mutation(Key k, Value v) {...}
/**
* Could also do this.
*/
Iterator<Entry<Key, Value>> kvIterator(){}
}
{code}
Another thing to think about from a convenience perspective is providing
transformation functions that could be used w/ guava. The functions could be
optimized. Having the {{Mutation(Key,Value)}} constructor would make it easy
for users to create optimal functions of this sort.
> support an ingest path that avoids Mutation objects
> ---------------------------------------------------
>
> Key: ACCUMULO-3733
> URL: https://issues.apache.org/jira/browse/ACCUMULO-3733
> Project: Accumulo
> Issue Type: New Feature
> Reporter: Adam Fuchs
> Priority: Minor
>
> I had a thought about a potential performance/API improvement last night.
> Mutations are great for ensuring that multiple key/value changes to the same
> row happen atomically, but for some applications they require unnecessary
> transformation of key/value pairs in and out of the Mutation structure with
> no real change in information content. We might be able to improve both
> ingest performance and simplicity of the API by supporting ingesting streams
> or containers of key/value objects directly.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)