准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Create a view file for the SQL derived table
/ 35
Create a view file for the native derived table
/ 35
Join the view for the SQL derived table
/ 30
Looker 是 Google Cloud 提供的現代化資料平台,企業使用者能以互動方式分析資料及製作圖表。LookML 開發人員可建立新欄位、資料表和檢視表來自訂及整理資料,彙整重要資料供企業使用者運用。
在 Looker 中,LookML 開發人員可使用衍生資料表,新建基礎資料庫中未定義的資料表。舉例來說,LookML 開發人員可以建立衍生資料表,彙整現有資料表的詳細資訊,例如電子商務資料集中的逐筆訂單詳情。
在本實驗室中,您將瞭解如何在 LookML 中建立兩種衍生資料表:SQL 衍生資料表和原生衍生資料表。
本實驗室已為您建立名為 qwiklabs-ecommerce 的 LookML 專案。本專案以電子商務模擬資料集為基礎,內含訂單、產品和使用者資訊。如要進一步瞭解 LookML 建模,請參閱 Looker 說明文件。
本實驗室的內容包括:
qwiklabs-ecommerce)請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。
您將在真正的雲端環境中完成實作實驗室活動,而不是在模擬或示範環境。為達此目的,我們會提供新的暫時憑證,讓您用來在研究室活動期間登入及存取 Google Cloud。
如要完成這個研究室活動,請先確認:
準備就緒後,請點選「Start Lab」。
「Lab Details」窗格會顯示本實驗室中必須使用的暫時憑證。
如果實驗室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。
請在「Lab Details」窗格查看實驗室憑證,您之後會使用此憑證登入實驗室的 Looker 執行個體。
點選「Open Looker」。
分別在「Email」和「Password」欄位,輸入提供的使用者名稱和密碼。
使用者名稱:
密碼:
點選「Log In」。
成功登入後,您就會在本實驗室看到 Looker 執行個體。
在 LookML 中,您可以透過 SQL 查詢定義 SQL 衍生資料表,或透過「探索」查詢定義原生衍生資料表。
您將在這項工作中撰寫 SQL 查詢,定義新的 SQL 衍生資料表,此資料表用來彙整每筆訂單的詳情,包括訂單 ID、使用者 ID、商品數量和訂購商品的總金額。接著,您會在 qwiklabs-ecommerce 專案中,為 SQL 衍生資料表建立新的檢視表檔案。
在 Looker 導覽選單中,依序點按「開發」>「SQL Runner」。
在「SQL 查詢」視窗中輸入下列查詢:
這個範例查詢會選取 order_id 和 user_id,計算與每筆訂單相關的商品數量,然後加總這些商品的價格。
具體來說,COUNT 子句會計算個別訂單項目 ID (order_items 資料表的主鍵) 的數量,而 SUM 子句則會將訂單項目 ID 的 sale_price 加總。
GROUP BY 子句會依 order_id 和 user_id 分組結果,LIMIT 子句則用來限制輸出結果數量,因為我們只需要查看部分記錄,確定查詢正常運作即可。
在這個範例中,查詢確實傳回了訂單 ID、使用者 ID、每筆訂單的商品數量,以及每筆訂單的總收益。
請注意 LIMIT 子句是用來限制這項測試傳回的資料量;在後續步驟中,您將移除 LIMIT 子句,為 SQL 衍生資料表建立新的檢視表檔案。
點按頁面右上角「執行」旁的「設定」圖示 (),然後選取「新增至專案」。
在「專案」部分,選取「qwiklabs-ecommerce」。
在「檢視表名稱」部分,輸入:order_details。
點按「新增」。
系統會將您重新導向至 Looker IDE,並顯示您為 SQL 衍生資料表新建的檢視表檔案。
您會注意到 order_details 檢視表的新檢視表檔案,是建立在「檢視表」資料夾之外,這有助於確保專案中的檢視表檔案井然有序。
點按「檢視表」旁的箭頭,即可查看檢視表清單。
點按「order_details.view」,然後將其拖曳至「檢視表」資料夾底下。
點按「order_details.view」,查看 SQL 衍生資料表的檢視表檔案。
Looker 會為 SQL 查詢 SELECT 子句中的每個資料欄自動產生維度,以及新的計數測量指標。在後續步驟中,您將修改檢視表檔案,移除不再需要的 LIMIT 子句、隱藏新的計數測量指標,並為檢視表新增主鍵。
LIMIT 10 這行程式碼。如先前所述,Looker 會自動產生計數測量指標,以及衍生資料表要使用的維度。如果其他檢視表已有相同的計數測量指標,其實用性可能大於系統自動產生的指標。
在這個範例中,自動產生的計數測量指標會計算訂單 ID,而 order_items 檢視表中已有訂單計數。
您可以使用 hidden: yes 參數來刪除或隱藏計數測量指標。如果想保留這個指標,以驗證計數結果與其他計數是否相同,建議隱藏此指標。
type: count 上方新增一行,並輸入 hidden: yes。最後一個最佳做法是確保新檢視表有主鍵。
在本例中,您可以選擇將 primary_key: yes 參數新增至 order_id 維度,因為這個維度是此檢視表的編排依據,提供了每筆訂單的詳細資料。
type: number 上方新增一行,並輸入 primary_key: yes。現在,名為 order_details 的新檢視表已準備就緒,您可以繼續建立新的維度和測量指標、將其彙整至模型檔案中的探索,和/或完成 Git 工作流程,將變更推送至正式環境。
依序點按「驗證 LookML」>「修訂變更並推送」。
新增修訂版本訊息,然後點按「修訂」。
最後,點按「部署至正式環境」。
點選「Check my progress」,確認目標已達成。
與 SQL 衍生資料表不同,原生衍生資料表 (NDT) 完全以 LookML 語言表示。原生衍生資料表之所以實用,是因為它體現了 LookML「可重複使用」這項重要原則,也就是說您可以沿用現有的維度、測量指標,甚至是探索和彙整邏輯。
這能大幅減少使用「硬式編碼」來參照資料庫;長期下來,程式碼會更容易維護。
以前一節的 order_details SQL 衍生資料表為例,SQL 包含 order_items 的 COUNT 和 sale_price 的 SUM。不過,order_items 檢視表已包含 order_item_count 和 total_revenue 的測量指標。與其新建一個 SQL 衍生資料表,您只需使用現有維度和測量指標,就能輕鬆定義新的 NDT。
在本節中,您將根據先前的範例重新建立 SQL 衍生資料表,不過這次要建立原生衍生資料表,而這項工作可以透過「探索」頁面輕鬆達成。您將使用「Order Items 探索」建立所需的原生衍生資料表,當中包含每筆訂單的詳情:訂單 ID、使用者 ID、商品數量和訂購商品的總金額。
在 Looker 導覽選單中,點按「探索」。
在「E-Commerce Training」底下,點按「Order Items」。
點按「Order Items」旁的箭頭。
「Order Items」資料面板會列出可用的維度和測量指標。提醒您,探索功能會自動產生有效且高效能的 SQL 查詢。
在「Order Items」>「維度」底下,點按「Order ID」和「User ID」。
在「Order Items」>「測量指標」底下,點按「Order Count」和「Total Revenue」。
點按「執行」即可查看結果。
花點時間查看查詢結果,確認傳回的結果符合預期。在這個範例中,您的請求正確傳回了訂單 ID、使用者 ID、每筆訂單的項目數量,以及每筆訂單的總收益。
點按頁面右上角「執行」旁的「設定」圖示 (),然後選取「取得 LookML」。
點按「衍生資料表」,將 LookML 程式碼複製到電腦的剪貼簿。稍後您會將這段 LookML 程式碼,貼到原生衍生資料表的新檢視表檔案。
在新分頁中開啟新的 Looker 視窗。
在 Looker 導覽選單中,點按「開發」分頁標籤,然後選取 qwiklabs-ecommerce LookML 專案。
點按「檔案瀏覽器」旁的「新增檔案或資料夾」圖示 。
選取「建立檢視表」。
在「檔案名稱」部分,輸入 order_details_summary。
點按「建立」。
您會注意到 order_details_summary 檢視表的新檢視表檔案,是建立在「檢視表」資料夾之外。
點按「檢視表」旁的箭頭,即可查看檢視表清單。
點按「order_details_summary.view」,然後拖曳至「檢視表」資料夾底下。
點按「order_details_summary.view」,查看原生衍生資料表的檢視表檔案。
刪除檢視表檔案中所有自動產生的 LookML。
貼上您剛才複製的原生衍生資料表 LookML 程式碼。
將自動產生的檢視表名稱 (例如 add_a_unique_name_1623275538) 替換為 order_details_summary。檔案應如下所示:
您會發現 Looker 建議加入模型檔案,但這些程式碼行已標示為註解,而最佳做法是不要更動這些已進行註解排除的程式碼行。這是因為模型檔案幾乎都會內含其他檔案,如果有太多檔案彼此包含,模型可能會出現循環相依的狀況,進而導致語法驗證失敗。
現在,名為 order_details_summary 的新檢視表已準備就緒,您可以繼續建立新的維度和測量指標、將其彙整至模型檔案中的探索,和/或完成 Git 工作流程,將變更推送至正式環境。
目前,這個資料表不會彙整至探索,您會對 SQL 衍生資料表執行該操作。
依序點按「驗證 LookML」>「修訂變更並推送」。
新增修訂版本訊息,然後點按「修訂」。
最後,點按「部署至正式環境」。
點選「Check my progress」,確認目標已達成。
在本節中,您將檢查並測試新的衍生資料表。您會先將這個資料表彙整至模型檔案中的 order_items 探索定義,然後使用 Order Items 探索,預覽變更推送至正式環境後,企業使用者會看見的結果。
請注意,雖然您不會針對原生衍生資料表完成這些最後步驟,但無論您是為 SQL 衍生資料表或原生衍生資料表建立檢視表,將檢視表彙整至探索的程序都相同。
在同一頁面中,點按「模型」資料夾內的 「training_ecommerce.model」檔案來修改內容。
找到 explore: order_items 定義。您會發現此模型已定義多個彙整,包含 users 檢視表在內。
explore: order_items 定義中,於現有的 users 彙整上方,用下列指令新增 order_details 彙整:sql_on 參數會將彙整欄位指定為 order_id。relationship 參數表明 order_items 中可能有多個 order_id 項目,但 order_details 中每個 order_id 只有一個項目,且在每筆訂單中都以摘要列的形式呈現。
在 Looker 導覽選單中,點按「探索」。
在「E-Commerce Training」底下,點按「Order Items」。
點按「Order Details」旁的箭頭。
在「Order Details」>「維度」底下,點按「Order ID」、「Order Item Count」、「Order Revenue」和「User ID」。
點按「執行」即可查看結果。
點按「SQL」分頁以查看 Looker 產生的 SQL 查詢。
您會發現一般資料表運算式 (CTE) 是以 WITH 子句定義。這個原生衍生資料表會在執行階段以 CTE 形式產生,而不是儲存在基礎資料庫中,因此視為暫時性資料表。
您也可以保留衍生資料表,也就是儲存在基礎資料庫中。如要進一步瞭解永久衍生資料表,請參閱建立永久衍生資料表 (PDT) 說明文件。
在下一節中,我們將探索如何保留衍生資料表,以便將資料寫回資料庫。
training_ecommerce.model 檔案。依序點按「驗證 LookML」>「修訂變更並推送」。
新增修訂版本訊息,然後點按「修訂」。
最後,點按「部署至正式環境」。
點選「Check my progress」,確認目標已達成。
到目前為止,您在範例中探索的都是暫時性衍生資料表,意思是 Looker 會在探索查詢中為這些資料表產生 CTE (又稱臨時資料表)。
現在,您將認識另一種衍生資料表類型:永久型。永久衍生資料表 (PDT) 會寫入並儲存在連線資料庫中。無論是 SQL 衍生資料表還是原生衍生資料表,其保留步驟都相同。
如先前所述,保留衍生資料表的優點在於供企業使用者隨需取可用,並能縮短查詢執行時間。缺點是會占用資料庫儲存空間 (因而產生費用),而且彈性較差。
如要保留衍生資料表,您必須在定義中加入下列一或兩個參數:
datagroup_trigger 會使用資料群組,或是模型中設定的快取政策。如果模型已定義資料群組,則最推薦採用此方式保存衍生資料表。sql_trigger_value 會使用預先編寫的 SELECT 陳述式傳回一個值。Looker 會重複將 SELECT 陳述式傳送至資料庫,若發現結果有變,就會觸發重建 PDT 的程序。persist_for 會指示 PDT 在設定的時間內保持生效,例如「1 hour」或「4 hours」。不過請注意,persist_for 不具備任何重建邏輯,因此 PDT 在這段期間不會更新。此外,PDT 逾時就會消失,直到企業使用者查詢時才會再次出現。
PDT 的主要優點是可隨時取得資料,且能縮短查詢執行時間,因此建議搭配使用 persist_for 和 sql_trigger_value,確保 PDT 能反映資料更新,或直接使用 datagroup_trigger 或 sql_trigger_value。
在這項工作中,您將使用 datagroup_trigger 參數保留原生衍生資料表,該參數會根據模型檔案中預先定義的資料群組 (快取政策),重建永久衍生資料表。
針對名為 order_details_summary 的原生衍生資料表,您會將 training_ecommerce_default_datagroup 新增為 datagroup_trigger;這樣一來,持續性衍生資料表就會使用 training_ecommerce.model 中 training_ecommerce_default_datagroup 提供的規則重建,每小時重建模型中定義的所有物件。
在 Looker 導覽選單中,點按「開發」分頁標籤,然後選取 qwiklabs-ecommerce LookML 專案。
點按「檢視表」旁的箭頭,即可查看檢視表清單。
點按「order_details_summary.view」,查看原生衍生資料表的檢視表檔案。
在 derived_table 定義中,於 explore_source: order_items 的右括號 (}) 後方新增一行,然後貼上下列內容:
在 Looker 導覽選單中,點按「探索」。
在「E-Commerce Training」底下,點按「Order Items」。
點按「Order Details」旁的箭頭。
在「Order Details」>「維度」底下,點按「Order ID」、「Order Item Count」、「Order Revenue」和「User ID」。
點按「執行」即可查看結果。
點按「SQL」分頁以查看 Looker 產生的 SQL 查詢。
您已成功保存衍生資料表,因此先前由 WITH 子句定義的 CTE 不復存在,並由 SELECT 陳述式取代,用來查詢 order_details_summary 永久衍生資料表的欄位。
order_details_summary 檔案。依序點按「驗證 LookML」>「修訂變更並推送」。
新增修訂版本訊息,然後點按「修訂」。
最後,點按「部署至正式環境」。
在本實驗室中,您學會如何使用 LookML 建立 SQL 衍生資料表和原生衍生資料表,定義基礎資料庫中沒有的新資料表。
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2024 年 4 月 22 日
實驗室上次測試日期:2021 年 10 月 11 日
Copyright 2025 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验