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 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:http://apache-hbase.679495.n3.nabble.com/Is-there-a-API-to-get-all-the-columns-of-a-column-family-tp3739607p3743029.html
Sent from the HBase - Developer mailing list archive at Nabble.com.