【问题标题】:How to select large result set from Google BigQuery using .net api client library without pagination如何使用 .net api 客户端库从 Google BigQuery 中选择大型结果集而不进行分页
【发布时间】:2015-06-25 10:49:36
【问题描述】:

我正在尝试使用 .net 客户端库从 Google BigQuery 中选择大型结果集(~200K)。

我一次只能获得约 4K 行(请求和响应),Google BigQuery 提供 PageToken 以获得下一组结果。我能够通过对 Google Bigquery 的多个请求(约 50 个请求和响应)从大查询中选择所有行。

我的问题:是否有可能在单一响应中选择大型结果集?如果是,请分享您的代码(即使是 JAVA 代码也可以)。

【问题讨论】:

    标签: google-bigquery google-api-dotnet-client


    【解决方案1】:

    无法一次运行查询并选择大型响应。您可以对结果进行分页,或者如果您可以创建要导出到文件的作业,然后使用在您的应用中生成的文件。导出是免费的。

    运行大型查询并将结果导出到存储在 GCS 上的文件的步骤:

    1) 在您的作业配置中将 allowLargeResults 设置为 true。您还必须使用 allowLargeResults 标志指定目标表。

    例子:

    "configuration": 
      {
        "query": 
        {
          "allowLargeResults": true,
          "query": "select uid from [project:dataset.table]"
          "destinationTable": [project:dataset.table]
    
        }
      }
    

    2) 现在您的数据位于您设置的目标表中。您需要创建一个新作业,并将export property 设置为能够将export the table 设置为文件。导出是免费的,但您需要激活 Google Cloud Storage 才能将生成的文件放在那里。

    3) 最后,您从 GCS 下载大文件。

    【讨论】:

      猜你喜欢
      • 2018-01-27
      • 2022-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多