用于列出表数据的JavaBigQueryAPI
我试图使用JAVA列出BigQuery中的表数据。但是,我无法找到如何配置API以获得每次调用的最大行数用于列出表数据的JavaBigQueryAPI,java,google-api,google-bigquery,Java,Google Api,Google Bigquery,我试图使用JAVA列出BigQuery中的表数据。但是,我无法找到如何配置API以获得每次调用的最大行数 public class QuickstartSample { public static void main(String... args) throws Exception { GoogleCredentials credentials; File credentialsPath = new File("/Users/gaurang.shah/Do
public class QuickstartSample {
public static void main(String... args) throws Exception {
GoogleCredentials credentials;
File credentialsPath = new File("/Users/gaurang.shah/Downloads/fb3735b731b9.json"); // TODO: update to your key path.
FileInputStream serviceAccountStream = new FileInputStream(credentialsPath);
credentials = ServiceAccountCredentials.fromStream(serviceAccountStream);
BigQuery bigquery = BigQueryOptions.newBuilder().
setCredentials(credentials).
setProjectId("bigquery-public-data").
build().
getService();
Dataset hacker_news = bigquery.getDataset("hacker_news");
Table comments = hacker_news.get("comments");
TableResult result = comments.list().;
for (FieldValueList row : result.iterateAll()) {
// do something with the row
System.out.println(row);
}
}
}
要限制行数,可以使用带有
TableDataListOption.pageSize(n)
参数的listTableData
方法
以下示例返回100行作为结果:
String datasetName = "my_dataset_name";
String tableName = "my_table_name";
TableId tableIdObject = TableId.of(datasetName, tableName);
TableResult tableData =
bigquery.listTableData(tableIdObject, TableDataListOption.pageSize(100));
for (FieldValueList row : tableData.iterateAll()) {
// do something with the row
}