// Retrieve the specified table resource
public Table getTable(String tableId) {
Tables tableRequest = sBIGQUERY.tables();
Table table = null;
try {
table = tableRequest.get(mProjectId, mDataset, tableId).execute();
} catch (IOException e) {
logger.error(e);
}
return table;
}
之后,在我的主要功能中:
Table info = mBigquery.getTable(tableId);
logger.info(tableId + "#" + info.getCreationTime() + "#" + info.getLastModifiedTime()+"#"+info.getNumBytes()+"#"+info.getNumRows());
有时info.getNumBytes()和info.getNumRows()返回null但是info.getCreationTime()和info.getLastModifiedTime()都很好。这是为什么?
答案 0 :(得分:1)
如果未提前知道行数,BigQuery将不会返回表中的行数。这种情况发生的主要方式是最近通过流操作(tabledata.insertall())写入的表。某些类型的表是链接到Google内部数据的表(这种情况很少见),也可能发生在表视图中,其中当基础表发生更改时,不会计算行数。