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. Thanks, Enis 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! > > > hongqi > > -- > 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. >
