hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] Created: (HBASE-2051) Use builder pattern to improve usability of client API
Date Wed, 16 Dec 2009 00:09:18 GMT
Use builder pattern to improve usability of client API
------------------------------------------------------

                 Key: HBASE-2051
                 URL: https://issues.apache.org/jira/browse/HBASE-2051
             Project: Hadoop HBase
          Issue Type: Improvement
            Reporter: Andrew Purtell
             Fix For: 0.21.0


>From Paul Smith up on hbase-user@:

{quote}
I think a good collection of useful builders and utilities that handle the 80% case will help
HBase gain much more traction.  As an person starting with HBase, there are a lot of concepts
to get, Bytes definitely get in the way of seeing the real underlying patterns.  I'm a total
believer in understanding the internals to get the best out of a product, but that often comes
after experimentation, and these high-level libraries grease the wheels for faster 'grok'ing
the concepts.

Thinking out loud here, but something like this may be useful:

{code}
PutBuilder builder = new PutBuilder(hTable);
// first Row
builder.withRowKey(1stRowKey).withColumnFamily("foo")
    .put("columnA", valueA)
    .put("columnB",valueB);
// secondRow
builder.withRowKey(2ndRowKey).withColumnFamily("eek")
    .put("columnC", valueC)
    .put("columnD",valueD);
..
builder.putAll();
{code}

{quote}

Perhaps we could use the Builder pattern to achieve simplification (e.g. HBASE-1990) and API
support for multicalls (HBASE-1986, HBASE-1845) at the same time. Method variants should accept
byte[] or String for keys or values, and lists. 



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message