BigQuery是Google Serverless的企業資料倉儲服務,擁有高擴充特性來助於提升資料分析工作效率,另外 BigQuery 因為沒有Infra基礎建設管理,更不需要DBA管理員,所以我們就可以更專注在分析資料上面,用熟悉的 SQL指令語法來找出對你有其關鍵意義的深度資料內容。
BigQuery有以下優勢特性讓大家了解:
今天小弟就拿大家一般都很關心的雲端成本帳單對於”隨用即付”的計價模式,我們能從中更精準的掌握自己的荷包。
掌握帳單先決條件,就是能把用戶的使用帳單輸出至BigQuery來更及時地查看自己的的GCP服務帳務成本,於一開始的GCP最一開始 Day3 篇幅也已經把帳單匯出至BigQuery,不知道怎麼匯出的可以進去以下連結參考如何設置。
https://ithelp.ithome.com.tw/articles/10199768
帳單一旦輸出到BigQuery就同等把現有帳單匯入到CSV/JSON格式呈現的方式,將自己GCP上的使用量直接輸出到 BigQuery資料集中。一旦有資料產生就可以透過簡單的SQL語法來做查詢。
以下就針對小弟目前現有的帳單來做簡單的示範:
直接到大數據類別下的BigQuery
點進去後的新版UI畫面,左下就有我固定自動匯進來的帳單紀錄
點選此帳單資料集
透過預覽檢視到從10/4-10/27至今的所有服務帳務資料..
可以來設定查詢固定範圍條件(參數自訂)
嘗試把此帳單資料集匯出到資料分析來做檢視
以下同意數據分析授權
請選擇允許你這GCP Google帳戶授權存取
進去的初始頁面
可以透過圖表拖拉篩選條件來視覺化的達到你所選呈現的資料樣貌
最後補充查詢的新版UI標準SQL語法:
在不分組的情況下查詢每一列
如要查看最詳盡的費用明細,請在不分組的情況下查詢每一列。假設除了標籤和 SKU 說明以外的所有欄位 (專案、服務等等)都相同。
SELECT
sku.description,
TO_JSON_STRING(labels) as labels,
cost as cost
FROM project.dataset.table
;
按標籤地圖分組以作為JSON字符串
這個方法可讓您輕鬆快速依各個標籤組合查看費用明細。
SELECT
TO_JSON_STRING(labels) as labels,
sum(cost) as cost
FROM project.dataset.table
GROUP BY labels;
依特定鍵的標籤值分組
依特定標籤鍵的值細分費用,是一種常見的做法。只要使用LEFT JOIN並將鍵篩選值加進 JOIN 條件 (而不是 WHERE),即可納入不包含這個鍵的費用,藉此顯示完整費用詳情。
SELECT
labels.value as environment,
SUM(cost) as cost
FROM project.dataset.table
LEFT JOIN UNNEST(labels) as labels
ON labels.key = "environment"
GROUP BY environment;
依鍵/值組合分組
解讀或匯出這類結果時請謹慎小心。這裡的個別資料列顯示的是未經過重複計算的有效總和,但不應與其他資料列合併 (如果是相同的鍵,或您確定鍵一律是針對不同資源所設定,則可以選擇合併)。
SELECT
labels.key as key,
labels.value as value,
SUM(cost) as cost
FROM project.dataset.table
LEFT JOIN UNNEST(labels) as labels
GROUP BY key, value;
以上是簡單入門作法,對於語法熟悉的大大應該會很容易上手,今天就先這樣..81