MongoSQL

使用 MongoSQL 方言(由 MongoSQL 接口 提供支持)将 Looker 直接连接到 MongoSQL 集群。将 Looker 连接到 MongoSQL 后,您可以使用关系型 SQL 查询分析文档数据,并构建交互式 Looker 信息中心。

Looker 开箱即用,其中包含一个官方捆绑的、采用 Apache 2.0 许可的 MongoSQL 接口 JDBC 驱动程序。与旧版 MongoBI 方言不同,无需手动安装自定义的未打包 JDBC 驱动程序 JAR 文件。

前提条件和 MongoSQL 配置

在 Looker 中创建连接之前,请在 MongoSQL 中完成以下配置步骤:

使用 SQL Schema Builder 构建关系型架构

MongoDB 以灵活的非关系型文档格式 (JSON/BSON) 存储数据。在 Looker 可以使用标准 SQL 查询 MongoDB 集合之前,您必须使用 MongoSQL 中的 SQL Schema Builder 构建 SQL 架构。

MongoSQL 接口依赖于 SQL Schema Builder 创建的关系型架构,将文档结构、嵌套字段和数组映射到标准 SQL 表、行和列。如果没有有效的 SQL 架构,SQL 接口将无法转换针对 MongoDB 集合的 SQL 查询。

在 Looker 中创建连接之前,请参阅 MongoSQL Schema Builder 文档 来定义和发布表格架构。

对于 MongoDB Enterprise 本地实例,请使用 MongoDB SQL Schema Builder 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 控制台为 Looker 创建数据库用户账号,具体步骤如下:

  1. 登录 MongoDB Atlas 控制台
  2. 在主导航菜单中的安全性 下,选择数据库访问权限
  3. 点击添加新数据库用户
  4. 选择密码 作为身份验证方法。输入用户名 (例如 looker)和安全密码。
  5. 数据库用户权限 下,选择内置角色 ,并为 Looker 将访问的数据库分配 read 角色(或自定义读取权限)。
  6. 点击添加用户 以保存用户凭据。

获取 Atlas SQL 连接参数

如需创建 Looker 连接,您需要输入 Atlas SQL 连接的连接参数。您可以按照以下步骤获取参数信息:

  1. 登录 MongoDB Atlas 控制台
  2. 前往您的集群,然后点击连接
  3. 选择 Atlas SQL (或使用 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 Schema Builder 为其创建架构的数据库的名称。
    • 用户名:为 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 Schema Builder 要求:如前提条件中所述,SQL 查询需要预配置的关系型架构,该架构在 Atlas SQL Schema Builder 中定义。
  • 派生表:支持临时(常规)派生表,但不支持永久性派生表 (PDT)。
  • 日期和时间戳类型:不支持 date 数据类型;标准做法是将日期存储为 timestamp 字段并对其进行建模。
  • 时区:从 MongoSQL 接口访问的所有时间戳均以 UTC 格式处理。Looker 不会为 MongoDB 连接转换数据库内时区。

功能支持

如需让 Looker 支持某些功能,您的数据库方言也必须支持这些功能。

截至 Looker 26.16,MongoSQL 支持以下功能:

功能 是否支持?
Looker (Google Cloud Core)
对称聚合
派生表
永久性 SQL 派生表
永久性原生派生表
稳定视图
查询终止
基于 SQL 的透视
时区
SSL
小计
其他 JDBC 参数
区分大小写
位置类型
名单类型
百分位
不同值百分位
SQL Runner “Show Processes”
SQL Runner “Describe Table”
SQL Runner “Show Indexes”
SQL Runner “Select 10”
SQL Runner “Count”
SQL “Explain”
OAuth 2.0 凭证
上下文注释
连接池
HLL 草图
汇总感知
递增 PDT
毫秒
微秒
具体化视图
与前一时间段相比的指标
近似计数不同
数据库内分析模型
自定义日历