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.