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


Java TableDesc.getStats方法代码示例

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


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

示例1: verifyResultStats

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
private void verifyResultStats(Optional<TajoResultSetBase[]> existing, long numRows) throws Exception {
  assertTrue(existing.isPresent());

  // Get TableStats using TajoResultSetBase.
  TajoResultSetBase[] resultSet = existing.get();
  QueryId qid = resultSet[0].getQueryId();
  QueryInfo queryInfo = testingCluster.getMaster().getContext().getQueryJobManager().getFinishedQuery(qid);
  TableDesc desc = queryInfo.getResultDesc();
  TableStats stats = desc.getStats();

  // Compare specified number of rows to the number of rows in TableStats.
  assertEquals(numRows, stats.getNumRows().longValue());

  // Compare the volume number of directRaw to the number of rows in TableStats.
  FileSystem fs = FileSystem.get(conf);
  Path path = new Path(desc.getUri());
  assertTrue(fs.exists(path));
  ContentSummary summary = fs.getContentSummary(path);
  assertEquals(summary.getLength(), stats.getNumBytes().longValue());

  closeResultSets(resultSet);
}
 
开发者ID:apache,项目名称:tajo,代码行数:23,代码来源:TestUnionQuery.java

示例2: getQuerySuccessMessage

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
private String getQuerySuccessMessage(TableDesc tableDesc, float responseTime, int totalPrintedRows, String postfix,
                                      boolean endOfTuple) {
  TableStats stat = tableDesc.getStats();
  String volume = stat == null ? (endOfTuple ? "0 B" : "unknown bytes") :
      FileUtil.humanReadableByteCount(stat.getNumBytes(), false);
  long resultRows = stat == null ? TajoConstants.UNKNOWN_ROW_NUMBER : stat.getNumRows();

  String displayRowNum;
  if (resultRows == TajoConstants.UNKNOWN_ROW_NUMBER) {

    if (endOfTuple) {
      displayRowNum = totalPrintedRows + " rows";
    } else {
      displayRowNum = "unknown row number";
    }

  } else {
    displayRowNum = resultRows + " rows";
  }
  return "(" + displayRowNum + ", " + getResponseTimeReadable(responseTime) + ", " + volume + " " + postfix + ")";
}
 
开发者ID:apache,项目名称:tajo,代码行数:22,代码来源:DefaultTajoCliOutputFormatter.java

示例3: MakeResultText

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
private void MakeResultText(ResultSet res, TableDesc desc) throws SQLException {
  ResultSetMetaData rsmd = res.getMetaData();
  resultRows = desc.getStats() == null ? 0 : desc.getStats().getNumRows();
  if (resultRows <= 0) {
    resultRows = 1000;
  }
  LOG.info("Tajo Query Result: " + desc.getUri() + "\n");

  int numOfColumns = rsmd.getColumnCount();
  for(int i = 0; i < numOfColumns; i++) {
    columnNames.add(rsmd.getColumnName(i + 1));
  }
  queryResult = new ArrayList<>();

  int currentResultSize = 0;
  int rowCount = 0;
  while (res.next()) {
    if(rowCount > rowLimit || currentResultSize > sizeLimit) {
      break;
    }
    List<Object> row = new ArrayList<>();
    for(int i = 0; i < numOfColumns; i++) {
      String columnValue = String.valueOf(res.getObject(i + 1));
      try {
        currentResultSize += columnValue.getBytes(Bytes.UTF8_ENCODING).length;
      } catch (Exception e) {
      }
      row.add(columnValue);
    }
    queryResult.add(row);
    rowCount++;
  }
}
 
开发者ID:apache,项目名称:tajo,代码行数:34,代码来源:QueryExecutorServlet.java

示例4: getTableVolume

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
private long getTableVolume(TableDesc table, Optional<EvalNode> filter) {
  try {
    if (table.getStats() != null) {
      return storage.getTableVolumn(table, filter);
    }
  } catch (UnsupportedException t) {
    LOG.warn(table.getName() + " does not support Tablespace::getTableVolume()");
  }

  // By default, return -1;
  return -1;
}
 
开发者ID:apache,项目名称:tajo,代码行数:13,代码来源:TableStatUpdateRewriter.java

示例5: SeqScanInfo

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
public SeqScanInfo(TableDesc tableDesc) {
  this(tableDesc.getStats());
  this.setTableDesc(tableDesc);
}
 
开发者ID:apache,项目名称:tajo,代码行数:5,代码来源:SeqScanInfo.java

示例6: toFormattedString

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
protected String toFormattedString(TableDesc desc) {
  StringBuilder sb = new StringBuilder();
  sb.append("\ntable name: ").append(desc.getName()).append("\n");
  sb.append("table uri: ").append(desc.getUri()).append("\n");
  sb.append("store type: ").append(desc.getMeta().getDataFormat()).append("\n");
  if (desc.getStats() != null) {

    long row = desc.getStats().getNumRows();
    String rowText = row == TajoConstants.UNKNOWN_ROW_NUMBER ? "unknown" : row + "";
    sb.append("number of rows: ").append(rowText).append("\n");
    sb.append("volume: ").append(
        FileUtil.humanReadableByteCount(desc.getStats().getNumBytes(),
            true)).append("\n");
  }
  sb.append("Options:\n");
  for(Map.Entry<String, String> entry : desc.getMeta().toMap().entrySet()){

    /*
    *  Checks whether the character is ASCII 7 bit printable.
    *  For example, a printable unicode '\u007c' become the character ‘|’.
    *
    *  Control-chars : ctrl-a(\u0001), tab(\u0009) ..
    *  Printable-chars : '|'(\u007c), ','(\u002c) ..
    * */

    String value = entry.getValue();
    String unescaped = StringEscapeUtils.unescapeJava(value);
    if (unescaped.length() == 1 && CharUtils.isAsciiPrintable(unescaped.charAt(0))) {
      value = unescaped;
    }
    sb.append("\t").append("'").append(entry.getKey()).append("'").append("=")
        .append("'").append(value).append("'").append("\n");
  }
  sb.append("\n");
  sb.append("schema: \n");

  for(int i = 0; i < desc.getSchema().size(); i++) {
    Column col = desc.getSchema().getColumn(i);
    sb.append(col.getSimpleName()).append("\t").append(col.getTypeDesc());
    sb.append("\n");
  }

  sb.append("\n");
  if (desc.getPartitionMethod() != null) {
    PartitionMethodDesc partition = desc.getPartitionMethod();
    sb.append("Partitions: \n");

    sb.append("type:").append(partition.getPartitionType().name()).append("\n");

    sb.append("columns:").append(":");
    sb.append(StringUtils.join(partition.getExpressionSchema().toArray()));
  }

  return sb.toString();
}
 
开发者ID:apache,项目名称:tajo,代码行数:56,代码来源:DescTableCommand.java

示例7: printResult

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
@Override
public void printResult(PrintWriter sout, InputStream sin, TableDesc tableDesc,
                        float responseTime, ResultSet res) throws Exception {
  long resultRows = tableDesc.getStats() == null ? -1 : tableDesc.getStats().getNumRows();
  if (resultRows == -1) {
    resultRows = Integer.MAX_VALUE;
  }

  if (res == null) {
    sout.println(getQuerySuccessMessage(tableDesc, responseTime, 0, "inserted", true));
    return;
  }
  ResultSetMetaData rsmd = res.getMetaData();
  int numOfColumns = rsmd.getColumnCount();
  for (int i = 1; i <= numOfColumns; i++) {
    if (i > 1) sout.print(",  ");
    String columnName = rsmd.getColumnName(i);
    sout.print(columnName);
  }
  sout.println("\n-------------------------------");

  int numOfPrintedRows = 0;
  int totalPrintedRows = 0;
  boolean endOfTuple = true;
  while (res.next()) {
    for (int i = 1; i <= numOfColumns; i++) {
      if (i > 1) sout.print(",  ");
      String columnValue = res.getString(i);
      if(res.wasNull()){
        sout.print(nullChar);
      } else {
        sout.print(columnValue);
      }
    }
    sout.println();
    sout.flush();
    numOfPrintedRows++;
    totalPrintedRows++;
    if (printPause && printPauseRecords > 0 && totalPrintedRows < resultRows && numOfPrintedRows >= printPauseRecords) {
      if (resultRows < Integer.MAX_VALUE) {
        sout.print("(" + totalPrintedRows + "/" + resultRows + " rows, continue... 'q' is quit)");
      } else {
        sout.print("(" + totalPrintedRows + " rows, continue... 'q' is quit)");
      }
      sout.flush();
      if (sin != null) {
        if (sin.read() == QUIT_COMMAND) {
          endOfTuple = false;
          sout.println();
          break;
        }
      }
      numOfPrintedRows = 0;
      sout.println();
    }
  }
  sout.println(getQuerySuccessMessage(tableDesc, responseTime, totalPrintedRows, "selected", endOfTuple));
  sout.flush();
}
 
开发者ID:apache,项目名称:tajo,代码行数:60,代码来源:DefaultTajoCliOutputFormatter.java

示例8: toFormattedString

import org.apache.tajo.catalog.TableDesc; //导入方法依赖的package包/类
protected String toFormattedString(TableDesc desc) {
  StringBuilder sb = new StringBuilder();
  sb.append("\ntable name: ").append(desc.getName()).append("\n");
  sb.append("table path: ").append(desc.getPath()).append("\n");
  sb.append("store type: ").append(desc.getMeta().getStoreType()).append("\n");
  if (desc.getStats() != null) {
    sb.append("number of rows: ").append(desc.getStats().getNumRows()).append("\n");
    sb.append("volume: ").append(
        FileUtil.humanReadableByteCount(desc.getStats().getNumBytes(),
            true)).append("\n");
  }
  sb.append("Options: \n");
  for(Map.Entry<String, String> entry : desc.getMeta().toMap().entrySet()){
    sb.append("\t").append("'").append(entry.getKey()).append("'").append("=")
        .append("'").append(entry.getValue()).append("'").append("\n");
  }
  sb.append("\n");
  sb.append("schema: \n");

  for(int i = 0; i < desc.getSchema().size(); i++) {
    Column col = desc.getSchema().getColumn(i);
    sb.append(col.getSimpleName()).append("\t").append(col.getDataType().getType());
    if (col.getDataType().hasLength()) {
      sb.append("(").append(col.getDataType().getLength()).append(")");
    }
    sb.append("\n");
  }

  sb.append("\n");
  if (desc.getPartitionMethod() != null) {
    PartitionMethodDesc partition = desc.getPartitionMethod();
    sb.append("Partitions: \n");

    sb.append("type:").append(partition.getPartitionType().name()).append("\n");

    sb.append("columns:").append(":");
    sb.append(TUtil.arrayToString(partition.getExpressionSchema().toArray()));
  }

  return sb.toString();
}
 
开发者ID:apache,项目名称:incubator-tajo,代码行数:42,代码来源:DescTableCommand.java


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