事前準備
-
登入您的 Google 帳戶。
如果您沒有帳戶,請申請新帳戶。
-
選取或建立 Google Cloud Platform 專案。
- 啟用Google BigQuery API。
-
設定驗證:
-
在 GCP 主控台中,前往「Create service account key」(建立服務帳戶金鑰) 頁面。
前往「Create Service Account Key」(建立服務帳戶金鑰) 頁面 - 從 [Service account] (服務帳戶) 清單中選取 [New service account] (新增服務帳戶)。
- 在 [Service account name] (服務帳戶名稱) 欄位中輸入一個名稱。
從 [Role] (角色) 清單中,選取 [Project] (專案) > [Owner] (擁有者)。
- 點選 [建立]。一個包含您金鑰的 JSON 檔案會下載到電腦中。
-
-
將環境變數 GOOGLE_APPLICATION_CREDENTIALS 設為包含服務帳戶金鑰的 JSON 檔案路徑。 此變數僅適用於您目前的殼層工作階段,所以如果您開啟新的工作階段,請再次設定變數。
安裝用戶端程式庫
C#
如要進一步瞭解如何設定 C# 開發環境,請參閱 C# 開發環境設定指南。Install-Package Google.Cloud.BigQuery.V2 -Pre
Go
go get -u cloud.google.com/go/bigquery
Java
如要進一步瞭解如何設定 Java 開發環境,請參閱 Java 開發環境設定指南。 如果您是使用 Maven,請在pom.xml
檔案中新增以下指令:
如果您是使用 Gradle,請在相依元件中新增以下指令:
如果您是使用 SBT,請在相依元件中新增以下指令:
如果您使用 IntelliJ 或 Eclipse,可以使用以下 IDE 外掛程式將用戶端程式庫加入專案中:
外掛程式還提供其他功能,例如服務帳戶適用的金鑰管理。詳情請參閱各外掛程式的說明文件。
Node.js
如要進一步瞭解如何設定 Node.js 開發環境,請參閱 Node.js 開發環境設定指南。npm install --save @google-cloud/bigquery
PHP
composer require google/cloud-bigquery
Python
如要進一步瞭解如何設定 Python 開發環境,請參閱 Python 開發環境設定指南。pip install --upgrade google-cloud-bigquery
Ruby
如要進一步瞭解如何設定 Ruby 開發環境,請參閱 Ruby 開發環境設定指南。gem install google-cloud-bigquery
匯入程式庫
C#
詳情請參閱 BigQuery C# API 參考說明文件。
Go
詳情請參閱 BigQuery Go API 參考說明文件。
Java
詳情請參閱 BigQuery Java API 參考說明文件。
Node.js
詳情請參閱 BigQuery Node.js API 參考說明文件。
PHP
詳情請參閱 BigQuery PHP API 參考說明文件。
Python
詳情請參閱 BigQuery Python API 參考說明文件。
Ruby
詳情請參閱 BigQuery Ruby API 參考說明文件。
初始化 BigQuery 用戶端
C#
請使用 BigQueryClient.Create() 函式建立 BigQuery 用戶端。
Go
請使用 bigquery.NewClient() 函式建立 BigQuery 用戶端。
Java
請使用 BigQueryOptions.getDefaultInstance() 函式來利用預設的驗證選項,並使用 BigQueryOptions.getService() 函式建立 BigQuery 用戶端。
Node.js
請將 BigQuery 類別實例化來建立 BigQuery 用戶端。
PHP
請將 BigQueryClient 類別實例化來建立 BigQuery 用戶端。
Python
請將 bigquery.Client 類別實例化來建立 BigQuery 用戶端。
Ruby
請使用 Google::Cloud::Bigquery.new 函式建立 BigQuery 用戶端。
執行查詢
查詢 Stack Overflow 公開資料集,找出瀏覽次數最多且標有 google-bigquery
的問題。
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
這個查詢使用標準 SQL 語法,相關說明請參閱查詢參考資料指南。用戶端程式庫預設使用標準 SQL 語法。如要變更 SQL 方言,請參閱切換 SQL 方言相關說明。
執行查詢
使用驗證過的 BigQuery 用戶端執行查詢。
C#
請定義查詢字串,並使用 client.ExecuteQuery() 函式來提交查詢及取得結果。
Go
請使用 bigquery.Query() 函式定義查詢,並使用 Query.Read() 函式來提交查詢及取得結果。
Java
請透過 QueryJobConfiguration 執行個體定義查詢,並使用 BigQuery.create() 方法啟動查詢工作。
Node.js
請使用 BigQuery.query() 方法啟動查詢。
PHP
請建立查詢設定並使用 BigQueryClient.startQuery() 方法來啟動查詢。
Python
請使用 Client.query() 方法來啟動查詢。
Ruby
請使用 Google::Cloud::Bigquery::Project.query 函式來啟動查詢並等候結果。
如需更多執行 BigQuery 查詢的範例,請參閱下列文章:
顯示查詢結果
顯示查詢結果。
C#
Go
請使用 RowIterator.Nextt() 函式,在 struct 指標中載入每一個資料列。
Java
對 QueryResponse 進行疊代作業,以便在結果中取得所有資料列。疊代器會自動處理分頁。每一個 FieldList 都會以數字索引或資料欄名稱顯示資料欄。
Node.js
查詢結果會以資料列清單形式傳回,其中每個資料列都是一個字典。
PHP
呼叫 Job.queryResults() 方法以等待查詢作業完成。查詢結果中的每個資料列都是關聯陣列。
Python
對 RowIterator 進行疊代作業,以便取得結果中的所有資料列。疊代器會自動處理分頁。每一個 Row 都會以數字索引、資料欄名稱或 Python 屬性顯示資料欄。
Ruby
Google::Cloud::Bigquery::Data 類別會以雜湊值顯示各個資料列。
進一步瞭解如何在 BigQuery 中處理資料列:
完整原始碼
以下是範例的完整原始碼。
C#
Go
Java
Node.js
PHP
Python
Ruby
恭喜!您已將第一個要求傳送至 BigQuery。
後續步驟
進一步瞭解 Google BigQuery API 用戶端程式庫。