MongoDB 商業智慧連接器

從 MongoBI 遷移至 MongoSQL

Looker 現在支援 MongoSQL,建議您從 MongoDB Connector for BI 遷移至 MongoSQL。

由於 MongoDB Connector for BI (MongoBI) 和 MongoSQL 之間的 SQL 語法差異,使用自訂 SQL 區塊、日期格式或資料庫函式的現有 LookML 模型可能需要調整語法。請勿直接將現有的正式版連線切換至 MongoSQL,否則可能會導致資訊主頁、Look、排程或快訊中斷。請務必先驗證 LookML 程式碼。

如要安全地從 MongoBI 遷移至 MongoSQL,請按照下列步驟操作:

  1. 請參閱 MongoDB 說明文件「從 Atlas BI 連接器轉換至 MongoSQL」,瞭解 MongoBI 和 MongoSQL 之間的 SQL 語法差異。
  2. 在 Looker 中為 MongoSQL 建立新連線,做為次要連線。
  3. 在 LookML 專案的新開發分支中,更新模型檔案中的 connection 參數,指向新的 MongoSQL 連線。
  4. 在 SQL Runner 中,測試及執行 Explore 中的查詢範例,驗證查詢語法和結果。
  5. 驗證專案和內容:
  6. 解決所有驗證錯誤後,請將變更部署至正式環境。

使用 MongoDB Connector for BI (MongoBI)

Looker 可以透過 MongoDB Connector for BI 存取 MongoDB,方法有兩種:

  • 在 MongoDB Atlas 中使用 MongoDB Connector for BI。
  • 使用 MongoDB Connector for BI,並安裝在與 MongoDB 資料庫相同的伺服器上。

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 存取清單:

  1. 取得 Looker IP 位址。
  2. 請按照 Atlas IP 存取清單設定操作說明,將 Looker IP 位址新增至 Atlas IP 存取清單。

啟用 MongoDB Connector for BI

啟用 MongoDB Connector for BI:

  1. 確認您位於 M10 以上的叢集。
  2. 在 Atlas 中,開啟叢集的「Connect」頁面。記下主機名稱、通訊埠和使用者。在 Looker 中設定連線時,您需要使用這項資訊。

MongoDB 位於同一部伺服器

在 Looker 中建立連線前,MongoDB 管理員應按照下列步驟設定 MongoDB 和 Mongo Connector for BI,本頁將說明相關步驟:

安裝適用於 BI 的 Mongo 連接器

在 MongoDB 資料庫所在的伺服器上,安裝 MongoDB Connector for BI,詳情請參閱 MongoDB 說明文件的在內部部署環境安裝 BI Connector 頁面。

加密網路流量

MongoDB Connector for BI 必須在 MongoDB 伺服器和 Looker 應用程式之間使用 SSL 加密。請按照 MongoDB 說明文件頁面「為 BI Connector 設定 SSL」中的指示操作。

設定 Looker 使用者和權限

在 MongoDB Shell 中輸入 use 指令,切換至 Looker 要連線的資料庫。接著,使用 db.createUser() 建立 Looker 使用者,並指派 readWrite 角色:

use looker_database

db.createUser({ user: looker,
                pwd: `some_password_here`,
                roles: [ "readWrite" ]
              })

安裝 MongoBI JDBC 驅動程式檔案

無論是哪種 MongoDB Connector for BI 選項,Looker 都需要設定 JDBC 驅動程式檔案,請按照下列步驟操作:

下載這兩個 JAR 檔案:

請按照「未封裝的 JDBC 驅動程式」說明文件頁面的步驟操作,並使用下列值:

driver symbol:mongobi

driver entry:

- 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 支援暫時性一般衍生資料表,但不支援永久衍生資料表。

由於一般衍生資料表是暫時性的,因此不需要儲存。因此,您不需要為這些資料建立結構定義。不過,您必須將 dbOwner 角色授予 looker_tmp 結構定義,即使該結構定義不存在也一樣。

請按照 MongoDB 說明文件頁面中有關設定資料庫使用者的「Modify MongoDB Users」一節,在 looker_tmp 上為 Looker 連線使用的使用者新增 dbOwner 角色。

db.grantRolesToUser("looker", [ {role: "dbOwner", db: "looker_tmp"} ])

建立 Looker 資料庫連線

請按照下列步驟,在 Looker 中建立資料庫連線:

  1. 在 Looker 的「管理」部分中,選取「連線」,然後按一下「新增連線」。
  2. 在「Dialect」(方言) 下拉式選單中,選取「MongoBI」。

  3. 填寫連線詳細資料。在這些設定中,有絕大部分都是多數資料庫方言的常用設定。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。

  4. 如要確認連線成功,請按一下「連線設定」頁面底部「狀態詳細資料」部分的「測試連線」按鈕。

  5. 如果 Looker 顯示「可連線」,請按下「連線」建立連線。

資料庫連線就會新增至 Looker「連線」管理頁面的清單中。

搭配 MongoDB Connector for BI 使用 SQL 函式和運算子

使用 MongoDB Connector for BI 連線進行開發時,您可以使用 MongoDB 說明文件中列出的 SQL 函式和運算子。

支援的 JDBC 參數

如果是 MongoDB Connector for BI,Looker 支援在連線的「Additional JDBC parameters」欄位中,使用下列 JDBC 參數。如要瞭解這些參數,請參閱資料庫的說明文件。

  • allowMultiQueries
  • appName
  • authSource
  • autoReconnect
  • cachePrepStmts
  • characterEncoding
  • connectTimeout
  • connectTimeoutMS
  • elideSetAutoCommits
  • enabledSslProtocolSuites
  • enabledTLSProtocols
  • explainSlowQueries
  • maxAllowedPacket
  • password
  • queryInterceptors
  • queryTimeoutKillsConnection
  • replicaSet
  • rewriteBatchedStatements
  • socketTimeout
  • ssl
  • sslMode
  • tcpKeepAlive
  • useCompression
  • useCursorFetch
  • useLocalSessionState
  • user
  • useServerPrepStmts
  • useSSL
  • verifyServerCertificate
  • zeroDateTimeBehavior

功能支援

資料庫方言也必須支援某些功能,Looker 才能支援這些功能。

自 Looker 26.20 起,MongoBI 支援下列功能:

功能 是否支援?
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
期間比較指標
近似不重複值的計數
資料庫內分析模型
自訂日曆

此外: