org.apache.hadoop.hbase.TableName.compareTo()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(9.6k)|赞(0)|评价(0)|浏览(364)

本文整理了Java中org.apache.hadoop.hbase.TableName.compareTo()方法的一些代码示例,展示了TableName.compareTo()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。TableName.compareTo()方法的具体详情如下:
包路径:org.apache.hadoop.hbase.TableName
类名称:TableName
方法名:compareTo

TableName.compareTo介绍

[英]For performance reasons, the ordering is not lexicographic.
[中]出于性能原因,排序不是字典式的。

代码示例

代码示例来源:origin: apache/hbase

  1. static Comparator<TableDescriptor>
  2. getComparator(Comparator<ColumnFamilyDescriptor> cfComparator) {
  3. return (TableDescriptor lhs, TableDescriptor rhs) -> {
  4. int result = lhs.getTableName().compareTo(rhs.getTableName());
  5. if (result != 0) {
  6. return result;
  7. }
  8. Collection<ColumnFamilyDescriptor> lhsFamilies = Arrays.asList(lhs.getColumnFamilies());
  9. Collection<ColumnFamilyDescriptor> rhsFamilies = Arrays.asList(rhs.getColumnFamilies());
  10. result = Integer.compare(lhsFamilies.size(), rhsFamilies.size());
  11. if (result != 0) {
  12. return result;
  13. }
  14. for (Iterator<ColumnFamilyDescriptor> it = lhsFamilies.iterator(), it2 =
  15. rhsFamilies.iterator(); it.hasNext();) {
  16. result = cfComparator.compare(it.next(), it2.next());
  17. if (result != 0) {
  18. return result;
  19. }
  20. }
  21. // punt on comparison for ordering, just calculate difference
  22. return Integer.compare(lhs.getValues().hashCode(), rhs.getValues().hashCode());
  23. };
  24. }

代码示例来源:origin: apache/hbase

  1. @Override
  2. public boolean visit(Result r) throws IOException {
  3. if (r == null || r.isEmpty()) return true;
  4. count.incrementAndGet();
  5. RegionInfo info = MetaTableAccessor.getRegionInfo(r);
  6. if (info == null) return true; // Keep scanning
  7. if (isTableSpecified
  8. && info.getTable().compareTo(tableName) > 0) {
  9. // Another table, stop scanning
  10. return false;
  11. }
  12. if (LOG.isTraceEnabled()) LOG.trace("" + info + " IS-SPLIT_PARENT=" + info.isSplitParent());
  13. if (info.isSplitParent()) splitParents.put(info, r);
  14. if (r.getValue(HConstants.CATALOG_FAMILY, HConstants.MERGEA_QUALIFIER) != null) {
  15. mergedRegions.put(info, r);
  16. }
  17. // Returning true means "keep scanning"
  18. return true;
  19. }
  20. };

代码示例来源:origin: apache/hbase

  1. if (name.compareTo(TableName.META_TABLE_NAME) == 0) {
  2. continue;

代码示例来源:origin: apache/hbase

  1. /**
  2. * Compares this split against the given one.
  3. *
  4. * @param split The split to compare to.
  5. * @return The result of the comparison.
  6. * @see java.lang.Comparable#compareTo(java.lang.Object)
  7. */
  8. @Override
  9. public int compareTo(TableSplit split) {
  10. // If The table name of the two splits is the same then compare start row
  11. // otherwise compare based on table names
  12. int tableNameComparison =
  13. getTable().compareTo(split.getTable());
  14. return tableNameComparison != 0 ? tableNameComparison : Bytes.compareTo(
  15. getStartRow(), split.getStartRow());
  16. }

代码示例来源:origin: apache/hbase

  1. @Override
  2. public int compare(RegionInfo left, RegionInfo right) {
  3. // This comparator differs from the one RegionInfo in that it sorts
  4. // parent before daughters.
  5. if (left == null) return -1;
  6. if (right == null) return 1;
  7. // Same table name.
  8. int result = left.getTable().compareTo(right.getTable());
  9. if (result != 0) return result;
  10. // Compare start keys.
  11. result = Bytes.compareTo(left.getStartKey(), right.getStartKey());
  12. if (result != 0) return result;
  13. // Compare end keys, but flip the operands so parent comes first
  14. result = rowEndKeyComparator.compare(right.getEndKey(), left.getEndKey());
  15. return result;
  16. }
  17. }

代码示例来源:origin: apache/hbase

  1. int tableCompare = l.getTableName().compareTo(r.getTableName());
  2. if (tableCompare != 0) {
  3. return tableCompare;

代码示例来源:origin: apache/hbase

  1. private static int compareRegionInfosWithoutReplicaId(RegionInfo regionInfoA,
  2. RegionInfo regionInfoB) {
  3. int result = regionInfoA.getTable().compareTo(regionInfoB.getTable());
  4. if (result != 0) {
  5. return result;

代码示例来源:origin: org.apache.hbase/hbase-client

  1. static Comparator<TableDescriptor>
  2. getComparator(Comparator<ColumnFamilyDescriptor> cfComparator) {
  3. return (TableDescriptor lhs, TableDescriptor rhs) -> {
  4. int result = lhs.getTableName().compareTo(rhs.getTableName());
  5. if (result != 0) {
  6. return result;
  7. }
  8. Collection<ColumnFamilyDescriptor> lhsFamilies = Arrays.asList(lhs.getColumnFamilies());
  9. Collection<ColumnFamilyDescriptor> rhsFamilies = Arrays.asList(rhs.getColumnFamilies());
  10. result = Integer.compare(lhsFamilies.size(), rhsFamilies.size());
  11. if (result != 0) {
  12. return result;
  13. }
  14. for (Iterator<ColumnFamilyDescriptor> it = lhsFamilies.iterator(), it2 =
  15. rhsFamilies.iterator(); it.hasNext();) {
  16. result = cfComparator.compare(it.next(), it2.next());
  17. if (result != 0) {
  18. return result;
  19. }
  20. }
  21. // punt on comparison for ordering, just calculate difference
  22. return Integer.compare(lhs.getValues().hashCode(), rhs.getValues().hashCode());
  23. };
  24. }

代码示例来源:origin: apache/hbase

  1. int result = lhs.getTable().compareTo(rhs.getTable());
  2. if (result != 0) {
  3. return result;

代码示例来源:origin: org.apache.hbase/hbase-client

  1. private static int compareRegionInfosWithoutReplicaId(RegionInfo regionInfoA,
  2. RegionInfo regionInfoB) {
  3. int result = regionInfoA.getTable().compareTo(regionInfoB.getTable());
  4. if (result != 0) {
  5. return result;

代码示例来源:origin: com.aliyun.hbase/alihbase-client

  1. static Comparator<TableDescriptor>
  2. getComparator(Comparator<ColumnFamilyDescriptor> cfComparator) {
  3. return (TableDescriptor lhs, TableDescriptor rhs) -> {
  4. int result = lhs.getTableName().compareTo(rhs.getTableName());
  5. if (result != 0) {
  6. return result;
  7. }
  8. Collection<ColumnFamilyDescriptor> lhsFamilies = Arrays.asList(lhs.getColumnFamilies());
  9. Collection<ColumnFamilyDescriptor> rhsFamilies = Arrays.asList(rhs.getColumnFamilies());
  10. result = Integer.compare(lhsFamilies.size(), rhsFamilies.size());
  11. if (result != 0) {
  12. return result;
  13. }
  14. for (Iterator<ColumnFamilyDescriptor> it = lhsFamilies.iterator(), it2 =
  15. rhsFamilies.iterator(); it.hasNext();) {
  16. result = cfComparator.compare(it.next(), it2.next());
  17. if (result != 0) {
  18. return result;
  19. }
  20. }
  21. // punt on comparison for ordering, just calculate difference
  22. return Integer.compare(lhs.getValues().hashCode(), rhs.getValues().hashCode());
  23. };
  24. }

代码示例来源:origin: harbby/presto-connectors

  1. @Override
  2. public boolean processRow(Result r) throws IOException {
  3. if (r == null || r.isEmpty()) return true;
  4. count.incrementAndGet();
  5. HRegionInfo info = HRegionInfo.getHRegionInfo(r);
  6. if (info == null) return true; // Keep scanning
  7. if (isTableSpecified
  8. && info.getTable().compareTo(tableName) > 0) {
  9. // Another table, stop scanning
  10. return false;
  11. }
  12. if (info.isSplitParent()) splitParents.put(info, r);
  13. if (r.getValue(HConstants.CATALOG_FAMILY, HConstants.MERGEA_QUALIFIER) != null) {
  14. mergedRegions.put(info, r);
  15. }
  16. // Returning true means "keep scanning"
  17. return true;
  18. }
  19. };

代码示例来源:origin: harbby/presto-connectors

  1. @Override
  2. public boolean processRow(Result row) throws IOException {
  3. HRegionInfo info = MetaScanner.getHRegionInfo(row);
  4. if (info != null && !info.isSplitParent()) {
  5. if (tableName.equals(info.getTable())) {
  6. ServerName server = HRegionInfo.getServerName(row);
  7. if (server == null) {
  8. available.set(false);
  9. return false;
  10. }
  11. regionCount.incrementAndGet();
  12. } else if (tableName.compareTo(info.getTable()) < 0) {
  13. // Return if we are done with the current table
  14. return false;
  15. }
  16. }
  17. return true;
  18. }
  19. };

代码示例来源:origin: org.apache.hbase/hbase-client

  1. int result = lhs.getTable().compareTo(rhs.getTable());
  2. if (result != 0) {
  3. return result;

代码示例来源:origin: com.aliyun.hbase/alihbase-mapreduce

  1. /**
  2. * Compares this split against the given one.
  3. *
  4. * @param split The split to compare to.
  5. * @return The result of the comparison.
  6. * @see java.lang.Comparable#compareTo(java.lang.Object)
  7. */
  8. @Override
  9. public int compareTo(TableSplit split) {
  10. // If The table name of the two splits is the same then compare start row
  11. // otherwise compare based on table names
  12. int tableNameComparison =
  13. getTable().compareTo(split.getTable());
  14. return tableNameComparison != 0 ? tableNameComparison : Bytes.compareTo(
  15. getStartRow(), split.getStartRow());
  16. }

代码示例来源:origin: org.apache.hbase/hbase-mapreduce

  1. /**
  2. * Compares this split against the given one.
  3. *
  4. * @param split The split to compare to.
  5. * @return The result of the comparison.
  6. * @see java.lang.Comparable#compareTo(java.lang.Object)
  7. */
  8. @Override
  9. public int compareTo(TableSplit split) {
  10. // If The table name of the two splits is the same then compare start row
  11. // otherwise compare based on table names
  12. int tableNameComparison =
  13. getTable().compareTo(split.getTable());
  14. return tableNameComparison != 0 ? tableNameComparison : Bytes.compareTo(
  15. getStartRow(), split.getStartRow());
  16. }

代码示例来源:origin: harbby/presto-connectors

  1. @Override
  2. public int compare(HRegionInfo left, HRegionInfo right) {
  3. // This comparator differs from the one HRegionInfo in that it sorts
  4. // parent before daughters.
  5. if (left == null) return -1;
  6. if (right == null) return 1;
  7. // Same table name.
  8. int result = left.getTable().compareTo(right.getTable());
  9. if (result != 0) return result;
  10. // Compare start keys.
  11. result = Bytes.compareTo(left.getStartKey(), right.getStartKey());
  12. if (result != 0) return result;
  13. // Compare end keys, but flip the operands so parent comes first
  14. result = rowEndKeyComparator.compare(right.getEndKey(), left.getEndKey());
  15. return result;
  16. }
  17. }

代码示例来源:origin: harbby/presto-connectors

  1. @Override
  2. public boolean processRow(Result row) throws IOException {
  3. HRegionInfo info = MetaScanner.getHRegionInfo(row);
  4. if (info != null && !info.isSplitParent()) {
  5. if (tableName.equals(info.getTable())) {
  6. ServerName server = HRegionInfo.getServerName(row);
  7. if (server == null) {
  8. available.set(false);
  9. return false;
  10. }
  11. if (!Bytes.equals(info.getStartKey(), HConstants.EMPTY_BYTE_ARRAY)) {
  12. for (byte[] splitKey : splitKeys) {
  13. // Just check if the splitkey is available
  14. if (Bytes.equals(info.getStartKey(), splitKey)) {
  15. regionCount.incrementAndGet();
  16. break;
  17. }
  18. }
  19. } else {
  20. // Always empty start row should be counted
  21. regionCount.incrementAndGet();
  22. }
  23. } else if (tableName.compareTo(info.getTable()) < 0) {
  24. // Return if we are done with the current table
  25. return false;
  26. }
  27. }
  28. return true;
  29. }
  30. };

代码示例来源:origin: org.locationtech.geomesa/geomesa-bigtable-spark

  1. @Override
  2. public int compareTo(BigtableExtendedScanSplit o) {
  3. // If The table name of the two splits is the same then compare start row
  4. // otherwise compare based on table names
  5. int tableNameComparison =
  6. name.compareTo(o.name);
  7. return tableNameComparison != 0 ? tableNameComparison :
  8. Bytes.compareTo(
  9. scan.getRowSet().getRowRanges(0).getStartKeyClosed().toByteArray(),
  10. o.scan.getRowSet().getRowRanges(0).getStartKeyClosed().toByteArray());
  11. }

代码示例来源:origin: com.aliyun.hbase/alihbase-client

  1. private static int compareRegionInfosWithoutReplicaId(RegionInfo regionInfoA,
  2. RegionInfo regionInfoB) {
  3. int result = regionInfoA.getTable().compareTo(regionInfoB.getTable());
  4. if (result != 0) {
  5. return result;

相关文章