【问题标题】:How do I paginate the bigquery data using PHP bigquery client library?如何使用 PHP bigquery 客户端库对 bigquery 数据进行分页?
【发布时间】:2020-01-25 01:15:45
【问题描述】:

我正在使用这个 php 客户端库来提取 BigQuery 数据。 (https://github.com/googleapis/google-cloud-php-bigquery)

问题是我无法对 BigQuery 数据进行分页。 这是我提取数据的方式。链接 clear 显示了我们如何提取数据,但没有提供任何关于分页数据的信息。

https://cloud.google.com/bigquery/docs/reference/libraries#client-libraries-install-php

【问题讨论】:

标签: php google-bigquery


【解决方案1】:

分页文档在别处

https://cloud.google.com/bigquery/docs/paging-results#bigquery_browse_table-php

基本上代码是:

$maxResults = 10;
$startIndex = 0;

$options = [
    'maxResults' => $maxResults,
    'startIndex' => $startIndex
];
$bigQuery = new BigQueryClient([
    'projectId' => $projectId,
]);
$dataset = $bigQuery->dataset($datasetId);
$table = $dataset->table($tableId);
$numRows = 0;
foreach ($table->rows($options) as $row) {
    print('---');
    foreach ($row as $column => $value) {
        printf('%s: %s' . PHP_EOL, $column, $value);
    }
    $numRows++;
}

【讨论】:

  • 你好 Pentium10,我试过这个答案。当有大约 600000 个数据时,此代码无用。在这里,使用生成器函数 rows 在 Google Cloud Client Library for PHP 中自动发生分页,该生成器函数会在迭代期间获取下一页结果。
猜你喜欢
  • 2016-06-12
  • 2019-06-24
  • 2018-04-15
  • 1970-01-01
  • 1970-01-01
  • 2020-11-11
  • 1970-01-01
  • 2021-05-19
  • 1970-01-01
相关资源
最近更新 更多