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


Java TableName.getNamespaceAsString方法代码示例

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


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

示例1: authorizeGroup

import org.apache.hadoop.hbase.TableName; //导入方法依赖的package包/类
/**
 * Checks authorization to a given table, column family and column for a group, based
 * on the stored permissions.
 * @param groupName
 * @param table
 * @param family
 * @param qualifier
 * @param action
 * @return true if known and authorized, false otherwise
 */
public boolean authorizeGroup(String groupName, TableName table, byte[] family,
    byte[] qualifier, Permission.Action action) {
  // Global authorization supercedes table level
  if (authorizeGroup(groupName, action)) {
    return true;
  }
  if (table == null) table = AccessControlLists.ACL_TABLE_NAME;
  // Namespace authorization supercedes table level
  String namespace = table.getNamespaceAsString();
  if (authorize(getNamespacePermissions(namespace).getGroup(groupName), namespace, action)) {
    return true;
  }
  // Check table level
  List<TablePermission> tblPerms = getTablePermissions(table).getGroup(groupName);
  if (LOG.isDebugEnabled()) {
    LOG.debug("authorizing " + (tblPerms != null && !tblPerms.isEmpty() ? tblPerms.get(0) : "") +
      " for " +groupName + " on " + table + "." + Bytes.toString(family) + "." +
      Bytes.toString(qualifier) + " with " + action);
  }
  return authorize(tblPerms, table, family, qualifier, action);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:32,代码来源:TableAuthManager.java

示例2: chore

import org.apache.hadoop.hbase.TableName; //导入方法依赖的package包/类
@Override
@edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "GC_UNRELATED_TYPES",
    justification = "I do not understand why the complaints, it looks good to me -- FIX")
protected void chore() {
  // Prefetch online tables/namespaces
  for (TableName table : QuotaCache.this.rsServices.getOnlineTables()) {
    if (table.isSystemTable()) continue;
    if (!QuotaCache.this.tableQuotaCache.contains(table)) {
      QuotaCache.this.tableQuotaCache.putIfAbsent(table, new QuotaState());
    }
    String ns = table.getNamespaceAsString();
    if (!QuotaCache.this.namespaceQuotaCache.contains(ns)) {
      QuotaCache.this.namespaceQuotaCache.putIfAbsent(ns, new QuotaState());
    }
  }

  fetchNamespaceQuotaState();
  fetchTableQuotaState();
  fetchUserQuotaState();
  lastUpdate = EnvironmentEdgeManager.currentTime();
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:22,代码来源:QuotaCache.java

示例3: checkAndUpdateNamespaceRegionCount

import org.apache.hadoop.hbase.TableName; //导入方法依赖的package包/类
/**
 * Check if adding a region violates namespace quota, if not update namespace cache.
 * @param TableName
 * @param regionName
 * @param incr
 * @return true, if region can be added to table.
 * @throws IOException Signals that an I/O exception has occurred.
 */
synchronized boolean checkAndUpdateNamespaceRegionCount(TableName name, byte[] regionName,
    int incr) throws IOException {
  String namespace = name.getNamespaceAsString();
  NamespaceDescriptor nspdesc = getNamespaceDescriptor(namespace);
  if (nspdesc != null) {
    NamespaceTableAndRegionInfo currentStatus;
    currentStatus = getState(namespace);
    if (incr > 0
        && currentStatus.getRegionCount() >= TableNamespaceManager.getMaxRegions(nspdesc)) {
      LOG.warn("The region " + Bytes.toStringBinary(regionName)
          + " cannot be created. The region count  will exceed quota on the namespace. "
          + "This may be transient, please retry later if there are any ongoing split"
          + " operations in the namespace.");
      return false;
    }
    NamespaceTableAndRegionInfo nsInfo = nsStateCache.get(namespace);
    if (nsInfo != null) {
      nsInfo.incRegionCountForTable(name, incr);
    } else {
      LOG.warn("Namespace state found null for namespace : " + namespace);
    }
  }
  return true;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:33,代码来源:NamespaceStateManager.java

示例4: checkAndUpdateNamespaceTableCount

import org.apache.hadoop.hbase.TableName; //导入方法依赖的package包/类
synchronized void checkAndUpdateNamespaceTableCount(TableName table, int numRegions)
    throws IOException {
  String namespace = table.getNamespaceAsString();
  NamespaceDescriptor nspdesc = getNamespaceDescriptor(namespace);
  if (nspdesc != null) {
    NamespaceTableAndRegionInfo currentStatus;
    currentStatus = getState(nspdesc.getName());
    if ((currentStatus.getTables().size()) >= TableNamespaceManager.getMaxTables(nspdesc)) {
      throw new QuotaExceededException("The table " + table.getNameAsString()
          + " cannot be created as it would exceed maximum number of tables allowed "
          + " in the namespace.  The total number of tables permitted is "
          + TableNamespaceManager.getMaxTables(nspdesc));
    }
    if ((currentStatus.getRegionCount() + numRegions) > TableNamespaceManager
        .getMaxRegions(nspdesc)) {
      throw new QuotaExceededException("The table " + table.getNameAsString()
          + " is not allowed to have " + numRegions
          + " regions. The total number of regions permitted is only "
          + TableNamespaceManager.getMaxRegions(nspdesc) + ", while current region count is "
          + currentStatus.getRegionCount()
          + ". This may be transient, please retry later if there are any"
          + " ongoing split operations in the namespace.");
    }
  } else {
    throw new IOException("Namespace Descriptor found null for " + namespace
        + " This is unexpected.");
  }
  addTable(table, numRegions);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:30,代码来源:NamespaceStateManager.java

示例5: addTable

import org.apache.hadoop.hbase.TableName; //导入方法依赖的package包/类
private void addTable(TableName tableName, int regionCount) throws IOException {
  NamespaceTableAndRegionInfo info = nsStateCache.get(tableName.getNamespaceAsString());
  if (info != null) {
    info.addTable(tableName, regionCount);
  } else {
    throw new IOException("Bad state : Namespace quota information not found for namespace : "
        + tableName.getNamespaceAsString());
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:10,代码来源:NamespaceStateManager.java

示例6: disableTableRep

import org.apache.hadoop.hbase.TableName; //导入方法依赖的package包/类
/**
 * Disable a table's replication switch.
 * @param tableName name of the table
 * @throws IOException if a remote or network exception occurs
 */
public void disableTableRep(final TableName tableName) throws IOException {
  if (tableName == null) {
    throw new IllegalArgumentException("Table name is null");
  }
  try (Admin admin = this.connection.getAdmin()) {
    if (!admin.tableExists(tableName)) {
      throw new TableNotFoundException("Table '" + tableName.getNamespaceAsString()
          + "' does not exists.");
    }
  }
  setTableRep(tableName, false);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:18,代码来源:ReplicationAdmin.java


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