Google bigquery 是否只返回1000个表?
我在下面的代码中是做错了什么,还是这是一个bugGoogle bigquery 是否只返回1000个表?,google-bigquery,Google Bigquery,我在下面的代码中是做错了什么,还是这是一个bug com.google.api.services.bigquery.Bigquery.Tables.List list = bigquery.tables().list(PROJECT_ID, datasetid); list.setMaxResults((long) 5000); return list.execute().getTables(); 我在这个数据集中有1000多个表 一个请求中返回的
com.google.api.services.bigquery.Bigquery.Tables.List list =
bigquery.tables().list(PROJECT_ID, datasetid);
list.setMaxResults((long) 5000);
return list.execute().getTables();
我在这个数据集中有1000多个表 一个请求中返回的最大表数为1000。但是,您还应该在响应中收到一个
pageToken
,可以用来分页查看进一步的结果
例如:
List<Table> tables = new ArrayList<>();
com.google.api.services.bigquery.Bigquery.Tables.List list =
bigquery.tables().list(PROJECT_ID, datasetid);
list.setMaxResults(5000L);
String nextPageToken = null;
while (true) {
if (nextPageToken != null) {
list.setPageToken(nextPageToken);
}
TableList result = list.execute();
tables.addAll(result.getTables());
if (result.getNextPageToken() == null) {
break;
} else {
nextPageToken = result.getNextPageToken();
}
}
return tables;
List tables=new ArrayList();
com.google.api.services.bigquery.bigquery.Tables.List列表=
bigquery.tables().list(项目ID、数据集ID);
列表。setMaxResults(5000L);
字符串nextPageToken=null;
while(true){
如果(nextPageToken!=null){
list.setPageToken(nextPageToken);
}
TableList结果=list.execute();
tables.addAll(result.getTables());
if(result.getNextPageToken()==null){
打破
}否则{
nextPageToken=result.getNextPageToken();
}
}
返回表;
“我在下面的代码中是做错了什么,还是这是一个bug?”可能两者都不是。这很可能是一个限制。不应该在某个地方指定吗?