-Re: Is there a API to get all the columns of a column family
Enis Söztutar 2012-02-14, 21:47
HBase table schema's only pre-define the table's column families, but not
the columns in it. In the data model, every row defines its own columns, so
every row potentially can contain different columns. Even if your data has
fixed columns, there is no way that hbase can determine that. The
HTableDescriptor object also is not the place for this, since it defines
the schema of the table, and column names are not in the schema. Please see
the book on the data model http://hbase.apache.org/book.html#datamodel.
Having said that, if your data has fixed columns, you can manage those
definitions externally, or store them in a meta table of your own. Or if
you want to obtain column names for a single row, you can do so by calling
Htable.get(), and obtaining the column names from the keys of
Result.getFamilyMap(). If you are sure that all the rows contain the same
columns, then, you can do something like, get the first row, get the
columns of the first row.
On Tue, Feb 14, 2012 at 12:30 AM, hongqizh <[EMAIL PROTECTED]> wrote:
> >Why not? It stops at a particular region? Can you figure which one.
> >Is it not deployed anywhere? Grep its name in master logs to see if
> >you can figure what happened to it?
> It seems that a StackOverflowError happened in my program.
> >I don't think we'll be adding such a call; it would imply a full scan
> >of the whole table to find every unique column of which there could be
> >millions. If the table is big, it'd need to mapreduce for the result
> >to come back in any reasonable amount of time.
> Sorry, St.Ack , I'm not very clear about how to mapreduce for the result,
> could you explain more about the mapreduce or give me some link? Thanks
> again for your kind help!
> View this message in context:
> Sent from the HBase - Developer mailing list archive at Nabble.com.