如何使用PHP编写一个类似sql的查询从BigQuery获取数据


How to write a sql like query using PHP to get data from BigQuery

有人能给我一个例子,其中BigQuery可以通过php与sql查询使用当前客户端库访问?

在新的库凭证是作为json给出的,与旧版本相比,很少有其他变化,我不明白如何运行查询。所以如果有人能给我提供一个示例代码就太好了

我知道这是一个非常古老的问题。但是我发现这个源代码在入门时非常有用。这是官方文件。我注意到这是他们提到如何构造从a到z的查询的唯一页面。

代码的相关部分:

use Google'Cloud'BigQuery'BigQueryClient;
$bigQuery = new BigQueryClient([
    'projectId' => $projectId,
]);
$query = <<<ENDSQL
SELECT
  CONCAT(
    'https://stackoverflow.com/questions/',
    CAST(id as STRING)) as url,
  view_count
FROM `bigquery-public-data.stackoverflow.posts_questions`
WHERE tags like '%google-bigquery%'
ORDER BY view_count DESC
LIMIT 10;
ENDSQL;
$queryJobConfig = $bigQuery->query($query);
$queryResults = $bigQuery->runQuery($queryJobConfig);
if ($queryResults->isComplete()) {
    $rows = $queryResults->rows();
    foreach ($rows as $row) {
        printf('url: %s, %s views' . PHP_EOL, $row['url'], $row['view_count']);
    }
} 
    $bigQuery = $this->getBigQuery();
    $tableName = $bigQuery->constructTableName('example');
    $query = $bigQuery->client->queryConfig("
        select distinct id from {$tableName}
    ");
    $queryJobConfig = $this->bigQuery->client->query($query);
    $this->$bigQuery->client->runQuery($queryJobConfig);