iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 27
0
自我挑戰組

谷哥 Google Cloud Platform 勇者的試煉系列 第 27

Google Serverless 企業資料倉儲 - BigQuery 讓你更專注自己的分析事務不中斷

BigQuery是Google Serverless的企業資料倉儲服務,擁有高擴充特性來助於提升資料分析工作效率,另外 BigQuery 因為沒有Infra基礎建設管理,更不需要DBA管理員,所以我們就可以更專注在分析資料上面,用熟悉的 SQL指令語法來找出對你有其關鍵意義的深度資料內容。

BigQuery有以下優勢特性讓大家了解:

  • 輕鬆將自己資料加入公開或商用資料集。無伺服器基礎架構會由雲端商處理包含底層修補及升級作業在內的維護工作來減少停機時間。
  • 直接用你熟悉的ANSI相容SQL,並提供ODBC與JDBC Driver,來更快更方便整合資料。
  • 不再煩惱資料倉儲規劃作業,無限的彈性資源調度功能,讓你使用所需任何資源。
  • 快速從資料中取得深入分析資訊,不必重複複製或移動資料。只要有需要,隨時查詢BigQuery代管欄位儲存格式、包含(Cloud Storage、Cloud Bigtable、試算表及雲端硬碟中資料),來分析檢視所需資料全貌。

今天小弟就拿大家一般都很關心的雲端成本帳單對於”隨用即付”的計價模式,我們能從中更精準的掌握自己的荷包。

掌握帳單先決條件,就是能把用戶的使用帳單輸出至BigQuery來更及時地查看自己的的GCP服務帳務成本,於一開始的GCP最一開始 Day3 篇幅也已經把帳單匯出至BigQuery,不知道怎麼匯出的可以進去以下連結參考如何設置。
https://ithelp.ithome.com.tw/articles/10199768

帳單一旦輸出到BigQuery就同等把現有帳單匯入到CSV/JSON格式呈現的方式,將自己GCP上的使用量直接輸出到 BigQuery資料集中。一旦有資料產生就可以透過簡單的SQL語法來做查詢。

以下就針對小弟目前現有的帳單來做簡單的示範:
直接到大數據類別下的BigQuery
https://ithelp.ithome.com.tw/upload/images/20181027/20025481fJkGG989pv.png

點進去後的新版UI畫面,左下就有我固定自動匯進來的帳單紀錄
https://ithelp.ithome.com.tw/upload/images/20181027/20025481ZVhL2Rko8O.png

點選此帳單資料集
https://ithelp.ithome.com.tw/upload/images/20181027/20025481XBmzbqGl4H.png

透過預覽檢視到從10/4-10/27至今的所有服務帳務資料..
https://ithelp.ithome.com.tw/upload/images/20181027/20025481VCSAPYJ9eo.png

可以來設定查詢固定範圍條件(參數自訂)
https://ithelp.ithome.com.tw/upload/images/20181027/20025481qry2Xfkifo.png

嘗試把此帳單資料集匯出到資料分析來做檢視
https://ithelp.ithome.com.tw/upload/images/20181027/20025481TR5ycFNxdo.png

以下同意數據分析授權
https://ithelp.ithome.com.tw/upload/images/20181027/2002548192W3F7zFRl.png

請選擇允許你這GCP Google帳戶授權存取
https://ithelp.ithome.com.tw/upload/images/20181027/20025481xUt7OiSCev.png

進去的初始頁面
https://ithelp.ithome.com.tw/upload/images/20181027/20025481BZN0ox8pql.png

可以透過圖表拖拉篩選條件來視覺化的達到你所選呈現的資料樣貌
https://ithelp.ithome.com.tw/upload/images/20181027/2002548173cv8qSwQE.png

最後補充查詢的新版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


上一篇
兼具關聯式資料庫和 NoSQL 優勢特性 ,簡單體驗 GCP Cloud Spanner
下一篇
搬遷主機到 GCP 難嗎?CloudEndure 解決你的問題,重點是免費
系列文
谷哥 Google Cloud Platform 勇者的試煉30

尚未有邦友留言

立即登入留言