【问题标题】:Java BigQuery API to list table data用于列出表数据的 Java BigQuery API
【发布时间】:2018-06-28 19:39:05
【问题描述】:

我正在尝试使用 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);
        }
    }
}

【问题讨论】:

    标签: java google-api google-bigquery


    【解决方案1】:

    要限制行数,您可以使用带有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
    }
    

    【讨论】:

      猜你喜欢
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-05
      • 2014-11-23
      相关资源
      最近更新 更多