使用 MongoSQL 方言 (由 MongoSQL 介面提供支援),直接將 Looker 連線至 MongoSQL 叢集。將 Looker 連結至 MongoSQL 後,您就能使用關聯式 SQL 查詢分析文件資料,並建立互動式 Looker 資訊主頁。
Looker 內建官方隨附、採用 Apache-2.0 授權的 JDBC 驅動程式,可直接用於 MongoSQL 介面。與舊版 MongoBI 方言不同,您不必手動安裝自訂未封裝的 JDBC 驅動程式 JAR 檔案。
先決條件和 MongoSQL 設定
在 Looker 中建立連線前,請先在 MongoSQL 中完成下列設定步驟:
- 使用 SQL Schema Builder 建構關聯式結構定義
- 將 Looker IP 位址新增至 Atlas IP 存取清單
- 為 Looker 建立 MongoDB 使用者帳戶
- 取得 Atlas SQL 連線參數
使用 SQL 結構定義產生器建構關聯式結構定義
MongoDB 會以彈性的非關聯文件格式 (JSON/BSON) 儲存資料。您必須先使用 MongoSQL 的 SQL Schema Builder 建構 SQL 結構定義,Looker 才能使用標準 SQL 查詢 MongoDB 集合。
MongoSQL 介面會依據 SQL Schema Builder 建立的關聯式結構定義,將文件結構、巢狀欄位和陣列,對應至標準 SQL 資料表、資料列和資料欄。如果沒有有效的 SQL 結構定義,SQL 介面就無法針對 MongoDB 集合轉譯 SQL 查詢。
如要在 Looker 中建立連線,請先參閱 MongoSQL 結構定義建立工具說明文件,定義及發布表格結構定義。
如果是 MongoDB Enterprise 地端部署執行個體,請使用 MongoDB SQL Schema Builder CLI 定義結構定義。
將 Looker IP 位址新增至 Atlas IP 存取清單
MongoSQL 會限制用戶端連線,只允許授權的 IP 位址連線。如要從 Looker 執行個體查詢 MongoSQL,請按照下列步驟,將 Looker IP 位址新增至 Atlas IP 存取清單:
- 取得 Looker 執行個體所在區域的 Looker IP 位址清單。
- 請按照 Atlas IP 位址存取清單說明文件,將這些 IP 位址新增至 Atlas 專案的 IP 位址存取清單。
為 Looker 建立 MongoDB 使用者帳戶
請按照下列步驟,使用 MongoDB Atlas 網頁控制台為 Looker 建立資料庫使用者帳戶:
- 登入 MongoDB Atlas 控制台。
- 在主要導覽選單中,依序選取「安全性」和「資料庫存取權」。
- 按一下「新增資料庫使用者」。
- 選取「Password」(密碼) 做為驗證方式。輸入使用者名稱 (例如
looker) 和安全密碼。 - 在「Database User Privileges」下方,選取「Built-in Role」,然後為 Looker 將存取的資料庫指派
read角色 (或自訂讀取的權限)。 - 按一下「Add User」,儲存使用者憑證。
取得 Atlas SQL 連線參數
如要建立 Looker 連線,您必須輸入 Atlas SQL 連線的連線參數。如要取得參數資訊,請按照下列步驟操作:
- 登入 MongoDB Atlas 控制台。
- 前往叢集,然後按一下「連線」。
- 選取「Atlas SQL」 (或「Connect your application using SQL」)。
- 選取「JDBC Driver」(JDBC 驅動程式)。
- 請記下產生的「主機」、「通訊埠」 (通常為
27017)、「資料庫」和 SSL 需求。您會在建立 Looker 連線時輸入這些詳細資料。
建立資料庫的 Looker 連線
請按照下列步驟,建立從 Looker 到 MongoSQL 的連線:
- 在 Looker 的「Admin」(管理) 部分,依序選取「Connections」(連線) 和「Add Connection」(新增連線)。
填寫連線詳細資料。在這些設定中,有絕大部分都是多數資料庫方言的常用設定。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。以下將說明部分設定。其他欄位則使用預設值或留空。
- 名稱:輸入不重複的連線名稱。
- 方言:從下拉式選單中選取「MongoSQL」。
- Host:MongoSQL 介面提供的主機名稱 (例如
<cluster-name>.a.query.mongodb.net)。 - 通訊埠:Atlas SQL 的通訊埠編號 (預設值:
27017)。 - 資料庫:使用 SQL 結構定義建立工具建立結構定義的資料庫名稱。
- 使用者名稱:為 Looker 建立的資料庫使用者名稱。
- 密碼:資料庫使用者密碼。
- SSL:啟用 SSL (
ssl=true)。 - 其他 JDBC 參數:(選用) MongoDB 驅動程式支援的其他 JDBC 參數,例如
authSource=admin或connectTimeoutMS=10000。請參閱「支援的 JDBC 參數」。
如要驗證資料庫連線,請按一下「測試連線」。
如果 Looker 顯示「可以連線」,請按下「連線」建立連線。
資料庫連線就會新增至 Looker「連線」管理頁面的清單中。
支援的 JDBC 參數
對於 MongoSQL 方言,Looker 在「Additional JDBC parameters」(其他 JDBC 參數) 欄位中支援下列 JDBC 參數:
appNameauthSourceclientinfoconnectTimeoutMSdirectConnectiondisableclientcacheextjsonmodeheartbeatFrequencyMSjournallocalThresholdMSmaxIdleTimeMSmaxWaitTimeMSreadPreferencereplicaSetretryReadsretryWritesserverSelectionTimeoutMSsocketTimeoutMSssltlstlsAllowInvalidHostnamestlsInsecurewwtimeoutMS
查詢限制和 SQL 行為
使用 SQL 介面建構 LookML 模型及查詢 MongoSQL 時,請注意下列方言特性:
- SQL Schema Builder 需求:如必要條件所述,SQL 查詢需要預先設定的關聯式結構定義,並在 Atlas SQL Schema Builder 中定義。
- 衍生資料表:支援暫時性 (一般) 衍生資料表,但不支援永久衍生資料表 (PDT)。
- 日期和時間戳記類型:不支援
date資料類型;標準做法是將日期儲存及模擬為timestamp欄位。 - 時區:從 MongoSQL 介面存取的所有時間戳記,都會以世界標準時間處理。Looker 不會為 MongoDB 連線轉換資料庫內時區。
功能支援
資料庫方言也必須支援某些功能,Looker 才能支援這些功能。
自 Looker 26.20 起,MongoSQL 支援下列功能:
| 功能 | 是否支援? |
|---|---|
| Looker (Google Cloud Core) | |
| 對稱式匯總函式 | |
| 衍生資料表 | |
| 永久 SQL 衍生資料表 | |
| 永久原生衍生資料表 | |
| 穩定檢視畫面 | |
| 終止查詢 | |
| 以 SQL 為基礎的樞紐 | |
| 時區 | |
| SSL | |
| 小計 | |
| JDBC 其他參數 | |
| 區分大小寫 | |
| 位置類型 | |
| 清單類型 | |
| 百分位數 | |
| 不重複值的百分位數 | |
| SQL Runner 顯示程序 | |
| SQL Runner 說明資料表 | |
| SQL Runner 顯示索引 | |
| SQL Runner 選取 10 | |
| SQL Runner 計數 | |
| SQL Explain | |
| OAuth 2.0 憑證 | |
| 內容留言 | |
| 連線集區 | |
| HLL 草圖 | |
| 匯總感知 | |
| 增量 PDT | |
| 毫秒 | |
| 微秒 | |
| materialized view | |
| 與前一段時期相比的指標 | |
| 不重複值的近似計數 | |
| 資料庫內分析模型 | |
| 自訂日曆 |