当前位置: 首页>>代码示例>>Java>>正文


Java ProtobufUtil.toNamespaceDescriptor方法代码示例

本文整理汇总了Java中org.apache.hadoop.hbase.protobuf.ProtobufUtil.toNamespaceDescriptor方法的典型用法代码示例。如果您正苦于以下问题:Java ProtobufUtil.toNamespaceDescriptor方法的具体用法?Java ProtobufUtil.toNamespaceDescriptor怎么用?Java ProtobufUtil.toNamespaceDescriptor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.hbase.protobuf.ProtobufUtil的用法示例。


在下文中一共展示了ProtobufUtil.toNamespaceDescriptor方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: refreshNodes

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
private void refreshNodes(List<ZKUtil.NodeAndData> nodes) throws IOException {
  for (ZKUtil.NodeAndData n : nodes) {
    if (n.isEmpty()) continue;
    String path = n.getNode();
    String namespace = ZKUtil.getNodeName(path);
    byte[] nodeData = n.getData();
    if (LOG.isDebugEnabled()) {
      LOG.debug("Updating namespace cache from node "+namespace+" with data: "+
          Bytes.toStringBinary(nodeData));
    }
    NamespaceDescriptor ns =
        ProtobufUtil.toNamespaceDescriptor(
            HBaseProtos.NamespaceDescriptor.parseFrom(nodeData));
    cache.put(ns.getName(), ns);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:17,代码来源:ZKNamespaceManager.java

示例2: get

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
private NamespaceDescriptor get(Table table, String name) throws IOException {
  Result res = table.get(new Get(Bytes.toBytes(name)));
  if (res.isEmpty()) {
    return null;
  }
  byte[] val = CellUtil.cloneValue(res.getColumnLatestCell(
      HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES, HTableDescriptor.NAMESPACE_COL_DESC_BYTES));
  return
      ProtobufUtil.toNamespaceDescriptor(
          HBaseProtos.NamespaceDescriptor.parseFrom(val));
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:12,代码来源:TableNamespaceManager.java

示例3: isTableAvailableAndInitialized

import org.apache.hadoop.hbase.protobuf.ProtobufUtil; //导入方法依赖的package包/类
/**
 * This method checks if the namespace table is assigned and then
 * tries to create its HTable. If it was already created before, it also makes
 * sure that the connection isn't closed.
 * @return true if the namespace table manager is ready to serve, false
 * otherwise
 * @throws IOException
 */
@SuppressWarnings("deprecation")
public synchronized boolean isTableAvailableAndInitialized() throws IOException {
  // Did we already get a table? If so, still make sure it's available
  if (initialized) {
    this.nsTable = this.masterServices.getConnection().getTable(TableName.NAMESPACE_TABLE_NAME);
    return true;
  }

  // Now check if the table is assigned, if not then fail fast
  if (isTableAssigned()) {
    try {
      nsTable = this.masterServices.getConnection().getTable(TableName.NAMESPACE_TABLE_NAME);
      zkNamespaceManager = new ZKNamespaceManager(masterServices.getZooKeeper());
      zkNamespaceManager.start();

      if (get(nsTable, NamespaceDescriptor.DEFAULT_NAMESPACE.getName()) == null) {
        create(nsTable, NamespaceDescriptor.DEFAULT_NAMESPACE);
      }
      if (get(nsTable, NamespaceDescriptor.SYSTEM_NAMESPACE.getName()) == null) {
        create(nsTable, NamespaceDescriptor.SYSTEM_NAMESPACE);
      }

      ResultScanner scanner = nsTable.getScanner(HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES);
      try {
        for (Result result : scanner) {
          byte[] val =  CellUtil.cloneValue(result.getColumnLatest(
              HTableDescriptor.NAMESPACE_FAMILY_INFO_BYTES,
              HTableDescriptor.NAMESPACE_COL_DESC_BYTES));
          NamespaceDescriptor ns =
              ProtobufUtil.toNamespaceDescriptor(
                  HBaseProtos.NamespaceDescriptor.parseFrom(val));
          zkNamespaceManager.update(ns);
        }
      } finally {
        scanner.close();
      }
      initialized = true;
      return true;
    } catch (IOException ie) {
      LOG.warn("Caught exception in initializing namespace table manager", ie);
      if (nsTable != null) {
        nsTable.close();
      }
      throw ie;
    }
  }
  return false;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:57,代码来源:TableNamespaceManager.java


注:本文中的org.apache.hadoop.hbase.protobuf.ProtobufUtil.toNamespaceDescriptor方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。