适用于 BI 的 MongoDB 连接器

Looker 至少需要 MongoDB 版本 4.0 及更高版本和 MongoDB Connector for BI 版本 2.6.0 及更高版本(其中引入了 type_conversion_mode 会话变量)。

Looker 可以通过两个选项使用适用于 BI 的 MongoDB 连接器访问 MongoDB:

  • MongoDB Atlas 中使用适用于 BI 的 MongoDB 连接器。
  • 使用与 MongoDB 数据库在同一服务器上安装的 BI MongoDB 连接器。

MongoDB Atlas

您的 MongoDB Atlas 必须使用 M10+ 集群。为了让 Looker 能够使用在 MongoDB Atlas 上运行的 MongoDB 数据库,您必须使用 MongoDB Connector for BI (MongoBI)。如需启用 Atlas 的 BI 连接器,MongoDB Atlas 必须使用 M10+ 集群。

您还必须创建一个具有所需数据库的读取权限的用户帐号。

为 BI 配置 MongoDB 连接器

在 Looker 中创建连接之前,您的 MongoDB 或 Atlas 管理员需要按照以下步骤设置 BI 的 MongoDB 连接器,具体步骤如下所示:

将 Looker 服务器添加到 Atlas IP 访问权限列表中

Versa 3 仅允许从项目的 IP 访问列表中的条目进行客户端连接。将 Looker 的 IP 地址添加到 Atlas 项目的 IP 访问列表中:

  1. 获取 Looker 的 IP 地址
  2. 按照 Atlas IP 访问权限列表设置中的说明操作,将 Looker 的 IP 地址添加到 Atlas IP 访问权限列表中。

为 BI 启用 MongoDB 连接器

为 BI 启用 MongoDB 连接器:

  1. 确认您使用的是 M10+ 集群
  2. 在 Atlas 中,打开集群的“连接”页面。记下主机名、端口和用户。在 Looker 中配置连接时,您需要使用这些信息。

在同一服务器上使用 MongoDB

在 Looker 中创建连接之前,您的 MongoDB 管理员应按照下文所述的步骤设置 MongoDB 和 Mongo Connector for BI:

安装 Mongo Connector for BI

在 MongoDB 数据库所在的服务器上安装适用于 BI 的 MongoDB 连接器,如在本地安装 BI 连接器 MongoDB 文档页面中所述。

加密网络流量

适用于 BI 的 MongoDB 连接器需要在 MongoDB 的服务器和 Looker 应用之间使用 SSL 加密。按照 Configure SSL for BI Connector MongoDB 文档页面上的 SSL 设置说明执行操作。

设置 Looker 用户和权限

MongoDB shell 中,输入 use 命令以切换到 Looker 将连接到的数据库。然后,为角色为 readWritedb.createUser() 创建 Looker 用户:

use looker_database

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

安装 MongoBI JDBC 驱动程序文件

对于两个适用于 BI 选项的 MongoDB 连接器,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 的派生表功能提供了一种创建数据库中尚不存在的新表的方法。

适用于 BI 的 MongoDB 连接器支持临时常规派生表,但尚不支持永久性派生表

由于常规派生表是临时的,因此无需存储。因此,您无需为它们创建架构。但是,您需要向 looker_tmp 架构授予 dbOwner 角色,即使该架构不存在也是如此。

按照此 MongoDB 文档页面上的“修改 MongoDB 用户”部分,在 looker_tmp 上添加 dbOwner 角色,供 Looker 连接的用户使用。

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

创建与数据库的 Looker 连接

在 Looker 的管理部分中,选择连接,然后点击添加连接

填写连接详情。大多数设置是大多数数据库方言通用的设置。如需了解相关信息,请参阅将 Looker 连接到数据库文档页面。

如需验证连接是否成功,请点击测试。如需了解问题排查信息,请参阅测试数据库连接文档页面。

要保存这些设置,请点击连接

将 SQL 函数和运算符与 MongoDB Connector for BI 搭配使用

使用 MongoDB 连接器进行 BI 连接开发时,您可以使用此 MongoDB 文档页面上列出的 SQL 函数和运算符。

功能支持

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

从 Looker 23.8 开始,MongoBI 支持以下功能:

功能 是否支持?
支持级别
支持
Looker (Google Cloud Core)
对称聚合
派生表
永久性 SQL 派生表
永久性原生派生表
稳定版观看次数
查询终止
基于 SQL 的数据透视
时区
SSL
小计
JDBC 附加参数
区分大小写
位置类型
列表类型
百分位
不同百分位
SQL Runner 显示进程
SQL Runner 描述表
SQL Runner 显示索引
SQL Runner 选择 10
SQL 运行程序计数
SQL 说明
OAuth 凭据
上下文评论
连接池
HLL 素描
总体认知度
PDT 增幅
毫秒
微秒
具体化视图
唯一计数

此外: