Google BigQuery 将行读入数组

Posted

技术标签:

【中文标题】Google BigQuery 将行读入数组【英文标题】:Google BigQuery Reading Rows into an array 【发布时间】:2016-09-28 07:32:37 【问题描述】:

当我尝试从 Google BigQuery 中的表中提取的数据中将行读取到数组中时,它只会将第一行读取到数组中。

我在其他代码中也是这样做的,不知道为什么没有读取所有行。

<?php
    function top10($chart)
        $client = new Google_Client();
        $client->useApplicationDefaultCredentials();
        $client->addScope(Google_Service_Bigquery::BIGQUERY);
        $bigquery = new Google_Service_Bigquery($client);
        $projectId = 'projectID';

        $request = new Google_Service_Bigquery_QueryRequest();

        $query = "SELECT First_Name, Last_Name, G FROM [" . $chart. "] ORDER BY G DESC LIMIT 10";

        $request->setQuery($query);

        $response = $bigquery->jobs->query($projectId, $request);
        $rows = $response->getRows();

        $ii = 0;
        $i = 0;
        foreach ($rows as $row)
        
            foreach ($row['f'] as $field)
            
                $Info[$i][$ii] = $field['v'];
                $ii++;
            
            $i++;
        
    
?>

【问题讨论】:

【参考方案1】:

你需要使用这样的东西:

 $rows = $queryResults->rows();
        foreach ($rows as $row) 
            printf('--- Row %s ---' . PHP_EOL, ++$i);
            foreach ($row as $column => $value) 
                printf('%s: %s' . PHP_EOL, $column, $value);
            
        

完整示例here

【讨论】:

以上是关于Google BigQuery 将行读入数组的主要内容,如果未能解决你的问题,请参考以下文章

Big Query 中的 Google AdWords 传输:可以更改表架构吗?

Big Query 着陆页数字与 Google Analytics 界面不一致

如何从 Google App Script 中的文件运行保存的 Big Query 脚本? [关闭]

如何将 Google 工作区数据自动导入 Big Query 数据库?

将Big Query中的数据自动导入Google表格?

将数据流从 Google Cloud Storage 流式传输到 Big Query