Looker 可以透過 MongoDB Connector for BI 存取 MongoDB,方法有兩種:
- 在 MongoDB Atlas 中使用 MongoDB Connector for BI。
- 使用安裝在與 MongoDB 資料庫相同伺服器上的 MongoDB Connector for BI。
MongoDB Atlas
MongoDB Atlas 必須使用 M10 以上的叢集。如要讓 Looker 使用在 MongoDB Atlas 上執行的 MongoDB 資料庫,您必須使用 MongoDB Connector for BI (MongoBI)。如要啟用 Atlas 的 BI 連接器,MongoDB Atlas 必須使用 M10 以上的叢集。
您也必須建立具有所需資料庫讀取權限的使用者帳戶。
設定 MongoDB Connector for BI
在 Looker 中建立連線前,MongoDB 或 Atlas 管理員必須先按照本頁說明,設定 MongoDB Connector for BI:
將 Looker 伺服器新增至 Atlas IP 存取清單
Atlas 只允許來自專案 IP 存取清單中項目的用戶端連線。將 Looker IP 位址新增至 Atlas 專案的 IP 存取清單:
- 取得 Looker IP 位址。
- 按照「Atlas IP 存取權清單設定」操作說明,將 Looker IP 位址新增至 Atlas IP 存取權清單。
啟用 MongoDB Connector for BI
啟用 MongoDB Connector for BI:
- 確認您位於 M10 以上的叢集。
- 在 Atlas 中開啟叢集的「Connect」頁面。記下主機名稱、通訊埠和使用者。在 Looker 中設定連線時,您需要使用這項資訊。
同一部伺服器上的 MongoDB
在 Looker 中建立連線前,MongoDB 管理員應按照下列步驟設定 MongoDB 和 Mongo Connector for BI,本頁將說明這些步驟:
安裝 Mongo Connector for BI
在與 MongoDB 資料庫相同的伺服器上安裝 MongoDB Connector for BI,如 Install BI Connector On Premises MongoDB 說明文件頁面所述。
加密網路流量
MongoDB Connector for BI 需要在 MongoDB 伺服器和 Looker 應用程式之間使用 SSL 加密。請按照 MongoDB 說明文件頁面「為 BI 連接器設定 SSL」中的操作說明設定 SSL。
設定 Looker 使用者和權限
在 MongoDB Shell 中輸入 use
指令,切換至 Looker 要連線的資料庫。接著,為 Looker 建立使用者,並指派 db.createUser()
角色 readWrite
:
use looker_database
db.createUser({ user: looker,
pwd: `some_password_here`,
roles: [ "readWrite" ]
})
安裝 MongoBI JDBC 驅動程式檔案
無論是哪種 MongoDB Connector for BI 選項,Looker 都需要設定 JDBC 驅動程式檔案,請按照下列步驟操作:
下載這兩個 JAR 檔案:
請按照「未封裝的 JDBC 驅動程式」說明文件頁面上的步驟操作,並使用下列值:
駕駛人符號:mongobi
駕駛人進入:
- name: mongobi
dir_name: mongobi
module_path: com.mysql.jdbc.Driver
override_jdbc_url_subprotocol: mysql
如果您使用 Looker 6.2 或更早版本:
- name: maria15x
dir_name: mongobi
module_path: com.mysql.jdbc.Driver
override_jdbc_url_subprotocol: mysql
如需將驅動程式放入方言目錄的步驟,這些檔案的路徑會如下所示:
looker/custom_jdbc_drivers/mongobi/mongosql-auth-1.0.0-rc0.jar
looker/custom_jdbc_drivers/mongobi/mysql-connector-java-5.1.47.jar
允許使用一般衍生資料表 (建議)
衍生資料表是 Looker 的重要工具,可協助您擴大分析的精細程度。此外,索引也能有效提升查詢效能。從高層次來看,Looker 衍生資料表功能提供建立新資料表的方法,這些資料表目前不存在於資料庫中。
MongoDB Connector for BI 支援暫時一般衍生資料表,但不支援永久衍生資料表。
由於一般衍生資料表是暫時性的,因此不需要儲存。因此不必為這些資料建立結構定義。不過,即使 looker_tmp
結構定義不存在,您仍須將 dbOwner
角色授予該結構定義。
請按照這篇有關設定資料庫使用者的 MongoDB 說明文件頁面中的「修改 MongoDB 使用者」一節操作,在 looker_tmp
上為 Looker 用來連線的使用者新增 dbOwner
角色。
db.grantRolesToUser("looker", [ {role: "dbOwner", db: "looker_tmp"} ])
建立 Looker 資料庫連線
請按照下列步驟,在 Looker 中建立與資料庫的連線:
- 在 Looker 的「管理」部分中,選取「連線」,然後按一下「新增連線」。
從「Dialect」下拉式選單中選取「MongoBI」。
填寫連線詳細資料。在這些設定中,有絕大部分都是多數資料庫方言的常用設定。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
如要確認連線是否成功,請按一下「測試」。如需疑難排解資訊,請參閱「測試資料庫連線」說明文件頁面。
如要儲存這些設定,請按一下「連線」。
搭配 MongoDB Connector for BI 使用 SQL 函式和運算子
使用 MongoDB Connector for BI 連線進行開發時,您可以使用 MongoDB 文件中列出的 SQL 函式和運算子。
功能支援
如要讓 Looker 支援某些功能,資料庫方言也必須支援這些功能。
自 Looker 25.10 起,MongoBI 支援下列功能:
功能 | 是否支援? |
---|---|
支援級別 | 支援 |
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 | 否 |
毫秒 | 否 |
微秒 | 否 |
具體化檢視表 | 否 |
與前一段時期相比的指標 | 否 |
不重複值的概略計數 | 否 |
此外:
- MongoDB 不支援維度群組的毫秒和微秒時間範圍。
- MongoDB 不支援維度的毫秒、毫秒 X 和微秒類型。
- Looker 會將從 MongoBI 存取的所有時間戳記視為世界標準時間 (UTC) 時區。