MongoSQL

使用 MongoSQL 方言 (由 MongoSQL 介面提供技術支援),將 Looker 直接連線至 MongoSQL 叢集。將 Looker 連線至 MongoSQL,即可使用關聯式 SQL 查詢分析文件資料,並建構互動式 Looker 資訊主頁。

Looker 內建適用於 MongoSQL 介面的 JDBC 驅動程式,並已取得 Apache 2.0 授權。與舊版 MongoBI 方言不同,您不需要手動安裝自訂未封裝的 JDBC 驅動程式 JAR 檔案。

先決條件和 MongoSQL 設定

在 Looker 中建立連線前,請先在 MongoSQL 中完成下列設定步驟:

使用 SQL 結構定義建構工具建構關聯式結構定義

MongoDB 會以彈性的非關聯文件格式 (JSON/BSON) 儲存資料。Looker 必須先使用 MongoSQL 中的 SQL 結構定義建立工具,建構 SQL 結構定義,才能使用標準 SQL 查詢 MongoDB 集合。

MongoSQL 介面會依據 SQL 結構定義建構工具建立的關聯式結構定義,將文件結構、巢狀欄位和陣列對應至標準 SQL 資料表、資料列和資料欄。如果沒有有效的 SQL 結構定義,SQL 介面就無法針對 MongoDB 集合翻譯 SQL 查詢。

如要在 Looker 中建立連線,請先參閱 MongoSQL 結構定義建立工具說明文件,定義及發布表格結構定義。

如果是 MongoDB Enterprise 本機執行個體,請使用 MongoDB SQL 結構定義建構工具 CLI 定義結構定義。

將 Looker IP 位址新增至 Atlas IP 存取清單

MongoSQL 限制客戶端連線只能透過授權的 IP 位址進行。如要從 Looker 執行個體查詢 MongoSQL,請按照下列步驟將 Looker IP 位址新增至 Atlas IP 存取清單:

  1. 取得 Looker 執行個體所在區域的 Looker IP 位址清單。
  2. 請按照 Atlas IP 存取清單說明文件,將這些 IP 位址新增至 Atlas 專案的 IP 存取清單。

為 Looker 建立 MongoDB 使用者帳戶

使用 MongoDB Atlas Web Console 建立 Looker 的資料庫使用者帳戶,步驟如下:

  1. 登入 MongoDB Atlas 控制台
  2. 在「安全性」下方的主導覽選單中,選取「資料庫存取權」
  3. 按一下「Add New Database User」(新增資料庫使用者)
  4. 選取「密碼」做為驗證方式。輸入「使用者名稱」 (例如 looker) 和安全密碼。
  5. 在「Database User Privileges」下方,選取「Built-in Role」,然後為 Looker 將存取的資料庫指派 read 角色 (或自訂讀取權限)。
  6. 按一下「新增使用者」,儲存使用者憑證。

取得 Atlas SQL 連線參數

如要建立 Looker 連線,請輸入 Atlas SQL 連線的連線參數。如要取得參數資訊,請按照下列步驟操作:

  1. 登入 MongoDB Atlas 控制台
  2. 前往叢集並按一下「Connect」(連線)
  3. 選取「Atlas SQL」 (或「Connect your application using SQL」)。
  4. 選取「JDBC 驅動程式」
  5. 請記下產生的「主機」、「通訊埠」 (通常為 27017)、「資料庫」和 SSL 需求。您會在建立 Looker 連線時輸入這些詳細資料。

建立資料庫的 Looker 連線

請按照下列步驟,建立從 Looker 到 MongoSQL 的連線:

  1. 在 Looker 的「管理」部分中,選取「連線」,然後按一下「新增連線」
  2. 填寫連線詳細資料。在這些設定中,有絕大部分都是多數資料庫方言的常用設定。如需相關資訊,請參閱「將 Looker 連線至資料庫」說明文件頁面。以下說明部分設定。其他欄位則使用預設值或留空。

    • 名稱:輸入不重複的連線名稱。
    • 方言: 從下拉式選單中選擇MongoSQL
    • 主機:MongoSQL 介面提供的主機名稱 (例如 <cluster-name>.a.query.mongodb.net)。
    • 通訊埠:Atlas SQL 的通訊埠編號 (預設值:27017)。
    • 資料庫:您使用 SQL 結構定義產生器建立結構定義的資料庫名稱。
    • 使用者名稱: 為 Looker 所建立的資料庫使用者名稱。
    • 密碼:資料庫使用者密碼。
    • SSL:啟用 SSL (ssl=true)。
    • 其他 JDBC 參數:(選用) MongoDB 驅動程式支援的其他 JDBC 參數,例如 authSource=adminconnectTimeoutMS=10000。請參閱「支援的 JDBC 參數」。
  3. 如要驗證資料庫連線,請按一下「測試連線」

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

資料庫連線隨即會新增至 Looker「連線管理頁面的清單。

支援的 JDBC 參數

如果是 MongoSQL 方言,Looker 支援「其他 JDBC 參數」欄位中的下列 JDBC 參數:

  • appName
  • authSource
  • clientinfo
  • connectTimeoutMS
  • directConnection
  • disableclientcache
  • extjsonmode
  • heartbeatFrequencyMS
  • journal
  • localThresholdMS
  • maxIdleTimeMS
  • maxWaitTimeMS
  • readPreference
  • replicaSet
  • retryReads
  • retryWrites
  • serverSelectionTimeoutMS
  • socketTimeoutMS
  • ssl
  • tls
  • tlsAllowInvalidHostnames
  • tlsInsecure
  • w
  • wtimeoutMS

查詢限制和 SQL 行為

使用 SQL 介面建構 LookML 模型及查詢 MongoSQL 時,請注意下列方言特徵:

  • SQL 結構定義產生器需求:如先決條件所述,SQL 查詢需要預先設定的關聯式結構定義,該結構定義是在 Atlas SQL 結構定義產生器中定義。
  • 衍生資料表:支援臨時 (一般) 衍生資料表,但不支援永久衍生資料表 (PDT)。
  • 日期和時間戳記類型:不支援 date 資料類型;標準做法是將日期儲存為 timestamp 欄位並建立模型。
  • 時區:從 MongoSQL 介面存取的所有時間戳記,一律以世界標準時間為準。Looker 不會在 MongoDB 連線中轉換資料庫內的時區。

功能支援

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

從 Looker 26.16 版本開始,MongoSQL 支援以下功能:

功能 是否支援?
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
毫秒
微秒
具體化檢視表
與前一段時期相比的指標
不重複值的概略計數
資料庫內分析模型
自訂日曆