加密網路流量
最佳做法是加密 Looker 應用程式與資料庫之間的網路流量。請考慮使用「啟用安全資料庫存取權」說明文件頁面所述的其中一個選項。
建立 Looker 使用者
Looker 會透過個人存取權杖向 Databricks 進行驗證。請按照 Databricks 說明文件,為 Databricks 使用者建立個人存取權杖,以便在 Looker 中使用。
使用 GRANT
為這個使用者新增權限。
Looker 使用者至少應具備 SELECT
和 READ_METADATA
權限。
GRANT SELECT ON DATABASE <YOUR_DATABASE> TO `<looker>@<your.databricks.com>`
GRANT READ_METADATA ON DATABASE <YOUR_DATABASE> TO `<looker>@<your.databricks.com>`
伺服器資訊
請參閱 Databricks 說明文件,找出 Databricks 叢集的 HTTP 路徑。本頁面會將此稱為 <YOUR_HTTP_PATH>
。
設定永久衍生資料表
如要使用永久衍生資料表,請建立個別資料庫。
CREATE DATABASE <YOUR_SCRATCH_DATABASE>
此外,您也必須授予額外的寫入權限。
GRANT SELECT CREATE MODIFY ON DATABASE <YOUR_SCRATCH_DATABASE> TO `<looker>@<your.databricks.com>`
GRANT READ_METADATA ON DATABASE <YOUR_SCRATCH_DATABASE> TO `<looker>@<your.databricks.com>`
建立 Looker 資料庫連線
在 Looker 的「管理」部分中,選取「連線」,然後按一下「新增連線」。
填寫連線詳細資料。在這些設定中,有絕大部分都是多數資料庫方言的常用設定。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。以下說明部分設定:
- 名稱:指定連線名稱。您會在 LookML 專案中參照這個連線。
- 方言:指定 Databricks 方言。
- 主機:指定 Databricks 工作區網址。例如:
dbc-xxxxxxxx.cloud.databricks.com/
。 - 「Port」(通訊埠):指定資料庫通訊埠。預設值為 443。
- 資料庫:指定要用於 Looker 查詢的資料庫名稱。預設值為
default
。 - 目錄:如果 Databricks 資料庫已啟用 Unity Catalog,請指定要用於 Looker 查詢的目錄名稱。如果未指定目錄,Looker 只會存取預設目錄中的結構定義。詳情請參閱「Looker functionality with Databricks Unity Catalog」。
- 驗證:選取「資料庫帳戶」或「OAuth」:
- 使用「資料庫帳戶」指定要用於連線至 Looker 的 Databricks 個人存取權杖 (如需操作說明,請參閱「建立 Looker 使用者」一節)。
- 在「Username」(使用者名稱) 中輸入值
token
(請勿在此欄位中輸入 Databricks 使用者電子郵件地址)。 - 在「Password」(密碼) 中,輸入 Databricks 個人存取權杖。
- 在「Username」(使用者名稱) 中輸入值
- 使用 OAuth 設定連線的 OAuth。詳情請參閱「設定 Databricks 連線的 OAuth」一節。
- 使用「資料庫帳戶」指定要用於連線至 Looker 的 Databricks 個人存取權杖 (如需操作說明,請參閱「建立 Looker 使用者」一節)。
- 啟用 PDT:使用這個切換按鈕啟用永久衍生資料表。啟用 PDT 後,「連線」視窗會顯示其他 PDT 設定和「PDT 覆寫」部分。 注意:使用 OAuth 的 Databricks 連線不支援 PDT。
- 暫存資料庫:輸入要用來儲存 PDT 的資料庫。
- PDT 建構工具連線數量上限:指定此連線可並行建構 PDT 的數量。如果這個值設得太高,可能會對查詢時間造成負面影響。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
其他 JDBC 參數:新增其他 Spark JDBC 參數。
維護時間表:
cron
運算式,指出 Looker 應在何時檢查資料群組和永久衍生資料表。如要進一步瞭解這項設定,請參閱「維護時間表」說明文件。SSL:勾選這個選項即可使用 SSL 連線。
驗證 SSL:勾選這個選項可強制執行嚴格的 SSL 憑證驗證。
每個節點的連線數上限:一開始可以保留預設值。如要進一步瞭解這項設定,請參閱「將 Looker 連線至資料庫」說明頁面的「每個節點的連線數上限」一節。
連線集區逾時:一開始可以保留預設值。如要進一步瞭解這項設定,請參閱「將 Looker 連線至資料庫」說明頁面的「連線集區逾時」一節。
SQL Runner 預先快取:如要讓 SQL Runner 不要預先載入資料表資訊,只在選取資料表時載入資料表資訊,請取消勾選這個核取方塊。如要進一步瞭解這項設定,請參閱「將 Looker 連線至資料庫」說明頁面的「SQL Runner 預先快取」一節。
資料庫時區:指定要在資料庫中使用的時區。如不想轉換時區,請將這個欄位留空。詳情請參閱「使用時區設定」說明文件頁面。
按一下「測試」,測試連線並確認設定正確無誤。如果看到「可以連線」,請按下「連線」。這會執行其餘的連線測試,確認服務帳戶已正確設定,且具備適當角色。如需疑難排解資訊,請參閱「測試資料庫連線」說明文件頁面。
搭配 Databricks Unity Catalog 使用 Looker 功能
Looker 支援連線至已啟用 Unity Catalog 的 Databricks 資料庫。建立 Looker 資料庫連線時,或編輯現有 Looker 連線至 Databricks 資料庫時,您可以在 Looker「連線」視窗的「目錄」欄位中指定目錄名稱。
如果 Databricks 資料庫已啟用 Unity Catalog,您可以在 Looker 連線的「目錄」欄位中指定 Databricks 目錄。指定 Databricks 目錄後,Looker 會在下列情況使用該目錄:
- 從資料庫產生新的 LookML 專案時,Looker 會根據連線設定目錄中的資料表建立專案檔案。
- 如果是現有專案,使用 Looker IDE 從資料表建立檢視區塊時,Looker 只會從連線設定的目錄中建立檢視區塊檔案。
- 使用 SQL Runner 時,只能從連線設定的目錄中選取結構定義。
如果 Databricks 資料庫已啟用 Unity Catalog,且 Looker 連線的「Catalog」欄位沒有值,則大多數 Looker 功能只會存取預設目錄中的結構定義,例如在下列情況:
- 從資料庫產生新的 LookML 專案時,Looker 會根據 Unity Catalog 預設目錄中的資料表建立專案檔案。
- 如果是現有專案,使用 Looker IDE 從資料表建立檢視區塊時,Looker 只能從 Unity Catalog 預設目錄中的資料表建立檢視區塊檔案。
- 使用 SQL Runner 時,您只能從 Unity Catalog 預設目錄選取結構定義。
為 Databricks 連線設定 OAuth
Looker 支援 Databricks 連線的 OAuth,也就是說,每位 Looker 使用者都會驗證資料庫,並授權 Looker 使用自己的 OAuth 使用者帳戶在資料庫中執行查詢。
資料庫管理員可透過 OAuth 執行下列工作:
- 稽核哪些 Looker 使用者對資料庫執行查詢
- 使用資料庫層級權限,強制執行角色型存取權控管
- 針對存取資料庫的所有程序和動作使用 OAuth 權杖,而不是在多個位置嵌入資料庫 ID 和密碼
- 直接透過資料庫撤銷特定使用者的授權
如果 Databricks 連線使用 OAuth,使用者必須在 OAuth 權杖到期時重新登入。
請注意資料庫層級 OAuth 連線的下列事項:
- 如果使用者的 OAuth 權杖過期,使用者擁有的任何 Looker 排程或快訊都會受到影響。為防範這種情況,Looker 會在目前有效的 OAuth 權杖到期前,傳送通知電子郵件給每個排程和快訊的擁有者。Looker 會在權杖到期前 14 天、7 天和 1 天,傳送這些通知電子郵件。使用者可以前往 Looker 使用者頁面,重新授權 Looker 存取資料庫,避免排程和快訊中斷。詳情請參閱「個人化使用者帳戶設定」說明文件頁面。
- 由於使用 OAuth 的資料庫連線是「每個使用者」專屬,因此快取政策也是每個使用者專屬,而不只是每個查詢專屬。也就是說,如果同一位使用者在快取期間內執行相同查詢,Looker 才會使用快取結果,而不是在快取期間內執行相同查詢時一律使用快取結果。如要進一步瞭解快取,請參閱「快取查詢」說明文件頁面。
- 使用 OAuth 的 Databricks 連線不支援持續衍生資料表 (PDT)。
- 當 Looker 管理員以其他使用者身分執行 sudo 時,管理員會使用該使用者的 OAuth 存取權杖。如果使用者的存取權杖已過期,管理員就無法代表該使用者建立新權杖。如要瞭解如何使用
sudo
指令,請參閱「使用者」文件頁面。 - 使用者透過 OAuth 從 Looker 登入 Databricks 時,Looker 不會顯示明確的使用者同意聲明對話方塊。透過 Looker 設定 OAuth 時,您會隱含同意 Looker 執行個體存取 Databricks 資料庫。
- 如要為 Databricks 連線使用 OAuth,您必須有可用於 Looker 查詢的 Databricks使用者或服務主體,並為使用者和服務主體提供 Looker 存取資料來源所需的 Databricks 權限,以及在 Databricks 中執行必要動作的權限。
如要使用 OAuth 建立 Databricks 與 Looker 的連線,請執行下列一般步驟 (詳情請參閱後續章節):
在 Databricks 中啟用自訂 OAuth 應用程式
如要透過 OAuth 將 Looker 連線至 Databricks,請按照下列步驟操作,將 Looker 設為 Databricks 資料庫的自訂 OAuth 應用程式:
- 登入 Databricks 帳戶控制台。
- 按一下側邊面板中的「設定」圖示。
- 在「設定」視窗中,按一下「應用程式連結」分頁標籤。
- 在「應用程式連結」分頁中,按一下「新增連結」。
在 Databricks 的「Add connection」對話方塊中輸入下列值:
- 應用程式名稱:提供描述性名稱,例如「Looker Integration」。
重新導向網址:輸入 Databricks 在授權成功後將使用者重新導向的 Looker 網址,格式如下 (請將
example.looker.com
替換為 Looker 執行個體的網址):https://example.looker.com/external_oauth/redirect
存取範圍:選取「SQL」,允許 Looker 透過 SQL 查詢資料。
產生用戶端密鑰:啟用這個選項。
在 Databricks「新增連線」對話方塊中,按一下「新增」。
複製並妥善保存 Databricks 產生的「Client ID」(用戶端 ID) 和「Client Secret」(用戶端密鑰)。
在 Databricks 資料庫中註冊 OAuth 應用程式最多可能需要 30 分鐘。詳情請參閱官方 Databricks 說明文件。
在 Looker 中設定連線
在 Databricks 資料庫中將 Looker 設定為自訂 OAuth 應用程式後,即可設定 Looker 與 Databricks 的連線,並使用 OAuth。
- 在 Looker 的「管理」部分中,選取「連線」,然後按一下「新增連線」。
- 填寫連線詳細資料,如本頁「建立 Looker 資料庫連線」一節所述。
- 在「Authentication」欄位中選取「OAuth」選項。
- 選取「OAuth」選項後,Looker 會顯示「OAuth 用戶端 ID」和「OAuth 用戶端密鑰」欄位。請輸入您在 Databricks 中啟用 Looker 做為自訂 OAuth 應用程式時,Databricks 產生的「用戶端 ID」和「用戶端密鑰」。
- 選取「連線設定」頁面底部的「測試」按鈕,確保 Looker 可以順利建立 OAuth 流程,並連線至 Databricks 執行個體。
功能支援
如要讓 Looker 支援某些功能,資料庫方言也必須支援這些功能。
自 Looker 25.10 起,Databricks 支援下列功能:
功能 | 是否支援? |
---|---|
支援級別 | 支援 |
Looker (Google Cloud Core) | 是 |
對稱式匯總函式 | 是 |
衍生資料表 | 是 |
永久 SQL 衍生資料表 | 是 |
永久原生衍生資料表 | 是 |
穩定版檢視畫面 | 是 |
終止查詢 | 是 |
以 SQL 為基礎的樞紐 | 是 |
時區 | 是 |
SSL | 是 |
小計 | 是 |
JDBC 其他參數 | 是 |
區分大小寫 | 是 |
位置類型 | 是 |
名單類型 | 是 |
百分位數 | 是 |
不重複值的百分位數 | 否 |
SQL Runner 顯示程序 | 否 |
SQL Runner 說明資料表 | 是 |
SQL Runner 顯示索引 | 否 |
SQL Runner 選取 10 | 是 |
SQL Runner 計數 | 是 |
SQL 說明 | 是 |
OAuth 2.0 憑證 | 是 |
背景資訊註解 | 是 |
連線集區 | 否 |
HLL 草圖 | 否 |
匯總知名度 | 是 |
增量 PDT | 是 |
毫秒 | 是 |
微秒 | 是 |
具體化檢視表 | 否 |
與前一段時期相比的指標 | 否 |
不重複值的概略計數 | 否 |