用于列出表数据的JavaBigQueryAPI

用于列出表数据的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

我试图使用JAVA列出BigQuery中的表数据。但是,我无法找到如何配置API以获得每次调用的最大行数

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
}