Looker Blocks 是預先建構的資料模型,適用於常見的分析模式和資料來源。本頁說明開發人員如何自訂從 Looker Marketplace 安裝的 Looker Blocks。Looker Marketplace 可讓您集中一處搜尋、部署及管理許多類型的 Looker 內容,例如應用程式、圖表和外掛程式。
如要進一步瞭解所有可用的 Looker Blocks,以及其他區塊自訂方法,請參閱「Looker Blocks」說明文件頁面。
從 Looker Marketplace 安裝及管理 Looker Blocks 的相關規定
如要安裝及使用 Looker Marketplace 中的部分模塊,請注意下列需求:
- 如果透過 Looker Marketplace 安裝區塊,Looker 管理員必須啟用 Marketplace 功能。
- 使用者必須具備
develop
、manage_models
和deploy
權限,才能從 Marketplace 安裝及管理套件。 如果特定區塊包含
local_dependency
參數,該區塊會使用本機專案匯入程序。如要瞭解如何匯入專案,請參閱「從其他專案匯入檔案」說明文件頁面。下列區塊包含local_dependency
參數:- 數位行銷數據分析
- 銷售分析
- 網站分析
如要瞭解如何安裝及管理 Looker Marketplace 中的 Looker Blocks,請參閱 Looker Marketplace 說明文件頁面。
存取 Marketplace Block 的 LookML
以使用精細化的專案為基礎的區塊,會從 Marketplace 安裝為單一可編輯的 CONFIG 專案,並遠端匯入 CORE 專案,其中包含所有 LookML 程式碼和常數參數化。
從 Marketplace 安裝區塊後,即可在專案清單中點選專案名稱,透過「開發」選單存取專案。Marketplace 調整項目區塊的名稱通常會加上 marketplace_ 前置字串,後面接著產品 ID。
雖然您無法直接修改區塊的唯讀 CORE 專案,但自訂區塊的 CONFIG 檔案時,不妨參考區塊唯讀 CORE 檔案中定義的 LookML。如要查看區塊的 CORE 檔案,請前往 IDE 中的區塊專案檔案,然後在 IDE 檔案瀏覽器中展開 imported_projects
目錄。
區塊檔案結構
安裝為精修功能建構的區塊時,系統會自動在區塊專案的 CONFIG 部分建立下列檔案:
檔案名稱 | 存取 | 函式 |
---|---|---|
<model_name>.model.lkml |
所有使用者只能讀取 | 與區塊安裝作業相關聯的虛擬模型檔案,可處理從區塊 CORE 專案匯入的任何模型。解除安裝或更新區塊時,系統會刪除相關聯的模型檔案,避免多個區塊安裝作業之間發生模型衝突。 |
manifest.lkml |
具備 develop 權限的使用者可編輯 |
說明專案及其外部依附元件。包含封鎖安裝的 Marketplace 資訊 ID,並透過 marketplace 關鍵字,協助遠端匯入封鎖的 CORE 專案檔案。 |
marketplace_lock.lkml |
所有使用者只能讀取 | 包含資訊清單檔案中 marketplace_ref 關鍵字的參照,可處理 CORE 專案的遠端匯入作業。提供與安裝作業相關聯的特定資訊,包括上架資訊、版本和型號。包含在安裝期間設定的常數相關資訊 (可使用 Marketplace 使用者介面中的「管理」選項更新)。 |
refinements.lkml |
具備 develop 權限的使用者可編輯 |
開發人員可藉此調整匯入的 CORE 專案檔案中定義的檢視畫面和探索。 |
自訂 Marketplace 區塊
如果您有 develop
權限,可以自訂區塊 CONFIG 專案 refinements.lkml
檔案中的 LookML。您可以調整區塊 CORE 專案中已定義的檢視畫面和探索,甚至新增 CORE 專案中尚未定義的檢視畫面和探索。在其他 LookML 專案中,您可以使用 LookML 修飾,在區塊的 refinements.lkml
檔案中,您也可以使用 LookML 修飾。精簡內容和原始 LookML 的組合,行為與物件的原始 LookML 相同。
您也可以變更 CONFIG 專案的 manifest.lkml
檔案,指定需要為該區塊擷取的任何依附元件。
您不只能修改這些檔案,還能達成所需自訂項目。您也可以在 CONFIG 專案中建立新檔案,但請務必在 refinements.lkml
檔案中 include
任何新檔案。
自訂精細化檔案
如果您擁有 develop
權限,可以在 CONFIG 專案中新增自訂 LookML,加入額外資料或變更區塊的核心分析模型。您可以建立新檢視區塊並加入現有探索,定義新欄位或重新定義現有欄位,或視需要套用標籤,為要提供的分析建立模型。如果您在 CONFIG 專案中建立新檔案,則必須在精修檔案中 include
這些檔案。
舉例來說,假設您已安裝區塊,且其 refinements.lkml
檔案包含下列 LookML:
include: "//<listing_id>/**/*.view.lkml"
include: "//<listing_id>/**/*.explore.lkml"
其中 listing_id
是 manifest.lkml
檔案中 listing
參數的值。
您可以使用精細化設定,在名為 flights
的檢視區塊中新增維度:
include: "//<listing_id>/**/*.view.lkml"
include: "//<listing_id>/**/*.explore.lkml"
view: +flights {
dimension: air_carrier {
type: string
sql: ${TABLE}.air_carrier ;;
}
}
或者,您也可以將標籤套用至名為 aircraft
的「探索」,讓該標籤在 UI 中顯示為「Aircraft Simplified」:
include: "//<listing_id>/**/*.view.lkml"
include: "//<listing_id>/**/*.explore.lkml"
explore: +aircraft {
label: "Aircraft Simplified"
}
系統會自動將 refinements.lkml
檔案納入區塊的「虛擬」模型檔案,這基本上是從 CORE 專案匯入模型。
如要進一步瞭解這個進階主題,請參閱 LookML 修訂說明文件。
自訂可編輯的資訊清單檔案
在使用精細化功能的區塊中,CORE 和 CONFIG 專案都有資訊清單檔案,但只有 CONFIG 專案的資訊清單檔案可編輯。
您可以編輯 CONFIG manifest.lkml
檔案,將專案參數新增至 CORE 專案資訊清單檔案中已顯示的參數。舉例來說,您可以在同一個 Looker 執行個體中,將local_dependency
聯結至另一個區塊。
更新常數值
區塊的常數定義在匯入的 CORE 專案資訊清單檔案中。如要覆寫常數值 (如允許),請在設定期間透過 Marketplace 使用者介面進行,或更新區塊。如要更新區塊,使用者必須具備 develop
、manage_models
和 deploy
權限。
如要透過更新區塊覆寫常數的值,請按照下列步驟操作:
- 在 Looker Marketplace 中,前往要更新的區塊。
- 按一下「管理」按鈕。
- 找出要更新的區塊,然後按一下名稱旁的齒輪圖示。系統會開啟區塊設定視窗。
- 視需要變更常數值。
- 按一下「更新」關閉區塊設定視窗,並更新區塊以套用變更。
變更會反映在已安裝專案的唯讀 marketplace_lock.lkml
檔案中。
保留使用 extends 的 Marketplace Block 中的自訂項目
Looker Marketplace 提供的一些模塊是由使用 LookML extends 的專案組成。對於 Looker 21.8 以上版本的執行個體,Looker 會將所有 Marketplace Block 轉換為使用 LookML 修飾的專案結構,並移除對以 extends 為基礎的 Block 支援。
Looker 建議您在執行個體上安裝任何 Marketplace 模塊的精修版本 (如有),取代以擴充功能建構的模塊。雖然這個替換程序很簡單,您可以從 Looker Marketplace 區塊清單安裝新的 (精簡) 區塊,並在 Looker Marketplace 的「管理」頁面上解除安裝原始 (擴充) 區塊,但這不會保留對以擴充功能建構的區塊所做的任何自訂項目。此外,Looker 也不會將原始區塊中以該內容為基礎的任何 Looker 內容或功能 (包括資訊主頁、探索、排定傳送的內容、快訊) 轉移至新區塊。
本節說明如何保留使用擴充功能建構的區塊所做的任何自訂項目,否則從頭複製這些項目會很困難或耗時。
如要保留區塊的自訂項目,具備從 Marketplace 安裝及管理套件權限的使用者必須執行下列步驟:
- 更新原始區塊的 CONFIG 專案,為遷移作業做好準備
- 從 Looker Marketplace 安裝新版區塊
- 將自訂項目轉移至新的市集區塊
- 根據原始區塊重新建立 Looker 內容
- 解除安裝使用 extends 建構的區塊版本
更新自訂區塊,為遷移作業做準備
本節說明如何更新以擴充功能建構的區塊中的主要專案檔案,以便將區塊的自訂項目複製到以新版篩選條件為基礎的區塊。如果專案使用擴充功能,則從 Marketplace 安裝的積木會以唯讀 CORE 專案和可編輯的 CONFIG 專案形式呈現。
透過下列任一方式,從「開發」部分前往區塊的 CONFIG 專案:
- 按一下「專案」選項,然後按一下專案名稱。
- 在專案清單中,按一下區塊 CONFIG 專案的名稱。
CONFIG 專案名稱通常以 _config 結尾,而 CORE 專案名稱通常沒有後置字串。
開啟專案的模型檔案,該檔案可能類似下列內容:
explore: ga_sessions_config {
extends: [ga_sessions_core]
extension: required
join: user_sales_data {
sql_on: ${user_sales_data.full_visitor_id} = ${ga_sessions.full_visitor_id} ;;
}
join: sales__by__category {
sql: LEFT JOIN UNNEST(${user_sales_data.sales_by_category}) as sales__by__category;;
}
}
explore: future_input_config {
extends: [future_input_core]
extension: required
join: future_purchase_prediction {
type: left_outer
sql_on: ${future_input.full_visitor_id} = ${future_purchase_prediction.full_visitor_id} ;;
relationship: one_to_one
}
}
在開發模式中,請執行下列步驟:
- 刪除整個
extends
和extension
行。 - 從
explore
名稱中刪除_config
。 - 在
explore
名稱開頭加上+
。
先前的模型檔案範例會如下所示:
- 刪除整個
explore: +ga_sessions {
join: user_sales_data {
sql_on: ${user_sales_data.full_visitor_id} = ${ga_sessions.full_visitor_id} ;;
}
join: sales__by__category {
sql: LEFT JOIN UNNEST(${user_sales_data.sales_by_category}) as sales__by__category;;
}
}
explore: +future_input {
join: future_purchase_prediction {
type: left_outer
sql_on: ${future_input.full_visitor_id} = ${future_purchase_prediction.full_visitor_id} ;;
relationship: one_to_one
}
}
- 複製並保留這個檔案的內容,以供後續步驟使用。
安裝新的 Marketplace Block
以使用精細化的專案為基礎的區塊,會從 Marketplace 安裝為單一可編輯的 LookML 專案,並遠端匯入包含所有 LookML 和常數參數化的專案。
- 選取 Looker 選單列上的商店圖示,前往 Looker Marketplace。
- 按一下以精修為依據的新市集區塊資訊。這個區塊的名稱與使用 extends 建構的現有區塊相同。
- 按一下「安裝」安裝新區塊。安裝完畢後,Looker Marketplace 的「管理」頁面會顯示兩個相同的項目。
將自訂項目轉移至新的 Marketplace 區塊
本節說明如何將您對原始 (擴充) 區塊所做的更新,轉移至新的 (精修) 區塊。
在「Develop」部分中,透過下列任一方式開啟新區塊的專案:
- 按一下「專案」選項,然後按一下專案名稱。
- 在專案清單中,按一下區塊專案的名稱。
Marketplace 調整項目區塊的名稱通常會加上 marketplace_ 前置字串,後面接著產品 ID。
在
refinements.lkml
檔案中,從原始 (擴充) 區塊的模型檔案貼上更新內容。請務必保留精修檔案中原有的include
陳述式。
根據原始區塊重新建立 Looker 內容
採用 Marketplace Block 的最終步驟,是解除安裝原始的 extends 型 Block。部分以擴充功能為基礎的區塊包含預先建構的 LookML 資訊主頁和 Explore。如果使用者根據原始 (擴充) 區塊中定義的任何 LookML 資訊主頁建立快訊或排定傳送時間,一旦從 Looker Marketplace 解除安裝該區塊,這些快訊或排定時間就會停用或失敗。
您必須在新 (改良) 區塊的 LookML 資訊主頁中,重新建立這些快訊或排定傳送時間。Looker 管理員和具備排程和快訊適當權限的使用者,可以在管理專區的「快訊與排程」頁面中,搜尋 (extends) 區塊資訊主頁的名稱,然後在 (refinements) 區塊的對應資訊主頁中,視需要建立新的快訊或排程傳送。
此外,您也必須視需要修改參照原始 (擴充) 區塊的任何其他 Looker 內容 (例如「探索」或 LookML 資訊主頁),使其指向新的 (精修) 區塊。
解除安裝原始區塊
如要解除安裝以擴充功能建構的區塊版本,請按照下列步驟操作:
選取 Looker 選單列上的商店圖示,前往 Looker Marketplace。
在 Looker Marketplace 中,選取左側導覽面板中的「管理」,開啟「管理」頁面。
在「管理」頁面中,按一下垃圾桶圖示即可解除安裝原始 (擴充) 封鎖。您可以查看版本號碼,區分擴充封鎖清單和精簡封鎖清單。extends 區塊會比 refinements 區塊落後一個主要版本。舉例來說,擴充區塊可能是版本
1.0.4
,而修正區塊可能是版本2.0.0
。
排解封鎖問題
如果 Marketplace 區塊顯示錯誤,可能是因為結構定義與區塊結構不符。
您也可以檢查在安裝區塊時提供的常數 (代表區塊的連線、資料庫或結構定義) 是否已正確定義。詳細步驟如下:
選取 Looker 選單列上的商店圖示,前往 Looker Marketplace。
在 Looker Marketplace 中,選取主要導覽面板中的「管理」,開啟「管理」頁面。
在「管理」頁面中,點選區塊的齒輪圖示,即可查看設定。
在「更新設定」視窗中,確認區塊設定正確無誤。變更完成後,按一下「更新」即可儲存更新內容,並關閉區塊設定視窗。