HTableDescriptor主要用于和Hbase表相关的操作.
继承了WritableComparable接口,就是说可以序列化以及比较
public class HTableDescriptor implements WritableComparable<HTableDescriptor>
如何创建一个表呢?看构造函数,
public HTableDescriptor(final TableName name) {
super();
setName(name);
}
需要传入一个TableName类型,这个类型又如何构建呢?找下构造函数,发现没有构造函数.但是有一些返回值为TableName类型的方法
如果你传入的name和tableCache中的某个名字一样的话,就返回这个.
public static TableName valueOf(String name) {
for (TableName tn : tableCache) {
if (name.equals(tn.getNameAsString())) {
return tn;
}
}
public String getNameAsString() {
return nameAsString;
}
tableCache 是什么?是一个存储了很多TableName对象的Set
/** See {@link #createTableNameIfNecessary(ByteBuffer, ByteBuffer)} */
private static final Set<TableName> tableCache = new CopyOnWriteArraySet<TableName>();