使用 Databases for MongoDB EE( Enterprise Edition )分析插件绘制全球 COVID-19 案例,并 Tableau
Databases for MongoDB EE( Enterprise Edition )分析插件允许您运行长时间运行的分析查询,或配置 MongoDB 连接器以获取商业智能(BI), 使您的查询数据与BI工具兼容,例如 Tableau。
更多信息,请访问 Databases for MongoDB EE(Enterprise Edition)Analytics add-on.
本教程将向您介绍如何使用 Tableau 在 MongoDB 实例中可视化数据。 总之,您将
- 使用流行的基础设施即代码 工具Terraform,安装带有Analytics插件的 Databases for MongoDB EE实例。
- 使用基本 Node.js脚本将数据上传到MongoDB数据库实例COVID-19世界卫生组织的数据)。
- 将数据库实例连接到Tableau。
- 生成世界各地COVID-19病例的可视化地图。
本教程需要一些命令行界面 (CLI) 的基础知识和Node.js 的基础知识。
由于您所需的MongoDB实例不是免费的,因此本教程也不是免费的。 不过,如果您在完成后对资源进行休眠,费用应该不会超过几美元。
您需要什么
在开始之前,最好先准备好:
- IBM Cloud 现收现付帐户,登录到您的帐户。
- Terraform- 自动进行资源调配。
- 访问 Mac 或Linux终端。
- Node.js和 npm。
- Git- 一种免费的开源分布式版本控制系统。
- MongoDBCompass来查看数据(可选)。
- Tableau,以可视化您的数据。 您需要设置 30 天的免费试用期。
分步说明
第 1 步:获取 API 密钥,将基础架构部署到您的账户中
请按照 此处的 步骤创建 API 密钥。 该键用于步骤 2。
第 2 步:克隆版本库并将目录更改为 Terraform 目录
使用以下命令克隆相应的 repo,并将目录更改为 Terraform 目录:
git clone https://github.com/IBM-Cloud/mongo-bi-tools-tutorial.git
cd mongo-bi-tools-tutorial/terraform
第 3 步:创建 terraform.tfvars
文件
使用以下命令创建一个名为 terraform.tfvars
:
ibmcloud_api_key = "<YOUR_API_KEY_FROM_STEP_1>"
region = "eu-gb" #Choose a suitable region for your deployment instance.
admin_password = "<CREATE_15_CHARACTER_PASSWORD>"
文件 terraform.tfvars
中包含的变量可能 需要保密。
步骤 4:创建基础设施
使用以下命令运行 Terraform 脚本:
terraform init
terraform apply --auto-approve
terraform output -json > ../import-covid-data/output.json
Terraform 文件夹包含许多简单的脚本:
main.tf
tells Terraform to use IBM Cloud.variables.tf
contains the variable definitions whose values are populated from theterraform.tfvars
file.mongo.tf
创建一个带有分析插件的 EE实例,并带有以下选项:Databases for MongoDB- 6 个 CPU 内核
- 14 GB 内存
- 20 GB 内存。
Terraform 脚本输出的连接字符串存储在名为 output.json
. 此文件将在下一步中使用。
第 5 步:将数据上传到Databases for MongoDBEE 实例
在此步骤中,您将使用Node.js脚本将数据上传到Databases for MongoDBEE 实例。EE 实例上传数据。 世界卫生组织(WHO)冠状病毒(COVID-19)控制面板提供COVID-19数据(死亡人数、疫苗使用情况和病例)的每日更新。
确保已进入项目目录,然后使用以下命令将这些数据导入到Databases for MongoDB中。EE 实例中。
cd import-covid-data
npm install
node main.js
The npm install
command installs all dependencies that are needed by your script.
main.js
脚本可以做很多事情:
- 它会读取连接字符串,以便连接到您的Databases for MongoDBEE 实例。EE 实例。
- 它会从
terraform.tfvars
凭据文件中读取访问Databases for MongoDB密码。EE 实例。 - 它从世卫组织控制面板读取 COVID 数据文件。 该数据文件为 CSV 格式,而MongoDB需要 JSON 格式,因此脚本会读取数据并将其转换为 JSON 文档。
- 它连接到您的Databases for MongoDBEE 实例,并将所有数据200k+行)上传到名为
daily_covid_global_data
的集合中。 如果该集合存在,它会删除它并重新开始。 您可以多次运行脚本,而不会导入重复数据。
上传所有数据只需几秒钟。 现在,您已经准备好使用Tableau 进行可视化了! 您运行的脚本将打印下一步所需的连接字符串。
第 6 步:将数据库实例连接到Tableau
将您的 Databases for MongoDB EE( Enterprise Edition )分析插件实例连接到 Tableau。 在“连接”选项卡中,选择MongoDBBI 连接器并输入连接信息:


服务器和端口值来自 步骤 4 的打印输出。 数据库留空。 用户名为 "admin"。 密码是您在 步骤 2 中创建的密码。

在初始 SQL 选项卡中输入 "FLUSH SAMPLE",然后点击“登录”

FLUSH SAMPLE
命令会告诉 BI 连接器根据收集文档的样本重新创建必要的表格模式。 每当文档结构发生变化时,都需要重新执行 FLUSH SAMPLE
命令来重新创建 BI 连接器模式。
如果您的数据库有许多文档,创建模式是一个耗时的过程。 只有在文件结构发生变化或创建新的文件集时,才应运行 FLUSH SAMPLE
。
第 7 步:将数据可视化!
现在您可以选择右侧的世界卫生组织数据库。 然后,按“立即更新”,即可看到表格格式的数据。

如果从右侧菜单中选择地图视图,还可以在漂亮的地图上查看数据,列中包含国家代码,行中包含累计病例。

第 8 步:拆除基础设施
为避免产生费用,请记住取消资源分配。 Terraform 可以解决这个问题。 在终端中,确保进入项目的 terraform
目录,然后使用以下命令:
terraform destroy --auto-approve
要确认您的实例已解除供应,请检查 IBM Cloud控制台 中的“资源”部分。
摘要
在本教程中,您使用Terraform预置了一个 Databases for MongoDB EE( Enterprise Edition )实例,然后使用Analytics附加组件BI Connector在 Tableau 中可视化您的数据。
请记住,我们还提供各种 优惠,帮助您继续IBM Cloud探索之旅!