IBM Cloud Docs
使用 Databases for MongoDB EE( Enterprise Edition )分析插件绘制全球 COVID-19 案例,并 Tableau

使用 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实例不是免费的,因此本教程也不是免费的。 不过,如果您在完成后对资源进行休眠,费用应该不会超过几美元。

您需要什么

在开始之前,最好先准备好:

分步说明

第 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 the terraform.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 连接器并输入连接信息:

连接到 Tableau
连接到 Tableau

选择连接到 MongoDB
选择连接到 MongoDB

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

MongoDB 连接器值 输入您的 连接器值
MongoDB

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

类型:FLUSH SAMPLE
类型: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探索之旅!