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 Connector,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 中,打开集群的“连接”页面。记下主机名、端口和用户。在 Looker 中配置连接时,您需要使用该信息。
同一服务器上的 MongoDB
在 Looker 中创建连接之前,您的 MongoDB 管理员应按照以下步骤设置 MongoDB 和 Mongo Connector for BI(本页对此进行了说明):
安装 Mongo Connector for BI
按照 Install BI Connector On Premises (在本地安装 BI 连接器)MongoDB 文档页面中的说明,在与 MongoDB 数据库相同的服务器上安装 MongoDB Connector for BI。
加密网络流量
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 将用于连接的用户在 looker_tmp
上添加 dbOwner
角色。
db.grantRolesToUser("looker", [ {role: "dbOwner", db: "looker_tmp"} ])
创建 Looker 与数据库的连接
请按照以下步骤创建从 Looker 到数据库的连接:
- 在 Looker 的管理部分中,选择连接,然后点击添加连接。
从 Dialect 下拉菜单中选择 MongoBI。
填写连接详情。这些设置中的大多数设置对于大多数数据库方言都是通用的。如需了解相关信息,请参阅将 Looker 连接到数据库文档页面。
如需验证连接是否成功,请点击测试。如需了解问题排查信息,请参阅测试数据库连接文档页面。
如需保存这些设置,请点击连接。
将 SQL 函数和运算符与 MongoDB Connector for BI 搭配使用
在使用 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 Explain | 是 |
OAuth 2.0 凭据 | 否 |
上下文注释 | 是 |
连接池 | 否 |
HLL 草图 | 否 |
汇总认知度 | 否 |
增量 PDT | 否 |
毫秒 | 否 |
微秒 | 否 |
具体化视图 | 否 |
与前一时间段相比的指标 | 否 |
近似计数不同 | 否 |
此外:
- MongoDB 不支持维度组的毫秒和微秒时间范围。
- MongoDB 不支持维度的毫秒、毫秒 X 和微秒类型。
- Looker 会将从 MongoBI 访问的所有时间戳视为采用世界协调时间 (UTC) 时区。