Databases for MongoDB EE (Enterprise Edition) Analytics Add-On および Tableau を使用したグローバル COVID-19 ケースのマッピング
Databases for MongoDB EE (Enterprise Edition) Analytics Add-On を使用すると、長時間実行される分析照会を実行したり、MongoDB Connector for Business Intelligence (BI) をプロビジョンしたりして、照会データと BI ツール (Tableau など) との互換性を持たせることができます。
詳しくは、 Databases for MongoDB EE (Enterprise Edition) Analytics Add-Onを参照してください。
このチュートリアルでは、 MongoDB インスタンスのデータを視覚化するために Tableau を使用する Analytics アドオンについて説明します。 要約すると、以下のようになります。
- Terraformという人気の高いInfrastructure-as-Codeツールを使用して、 Databases for MongoDB EEのインスタンスをAnalyticsアドオンとともにインストールします。
- MongoDB のデータベース・インスタンス(世界保健機関からの COVID-19 データ)に、基本的なスクリプトを使用してデータをアップロードします。 Node.js スクリプトを使用します。
- データベース・インスタンスを Tableau に接続します。
- 世界中の COVID-19 ケースのマップ視覚化を生成します。
このチュートリアルを行うには、コマンド・ライン・インターフェース (CLI) に関する基本的な知識と、 Node.jsに関する基本的な知識が必要です。
必要な MongoDB インスタンスは無料ではないため、このチュートリアルは無料ではありません。 しかし、完了後にリソースのプロビジョニングを解除すれば、コストは数ドルを超えることはないはずです。
必要なもの
始める前に、以下を行うことをお勧めします。
- IBM Cloud 従量課金 (PAYG) アカウント アカウントにログインしました。
- Terraform- リソースのプロビジョニングを自動化します。
- Mac または Linux 端末へのアクセス。
- Node.jsとnpm。
- Git- フリーでオープンソースの分散型バージョン管理システム。
- MongoDBCompassでデータを見る(オプション)。
- データを視覚化するための Tableau。 30日間の無料トライアルを設定する必要があります。
ステップバイステップの説明
ステップ 1: アカウントにインフラストラクチャーをデプロイするための API キーを取得します
ここ の手順に従って、API キーを作成します。 このキーはステップ 2 で使用します。
ステップ 2: リポジトリーを複製し、ディレクトリーを Terraform ディレクトリーに変更する
以下のコマンドを使用して、該当するリポジトリーを複製し、ディレクトリーを 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
は、 IBM Cloudを使用するように Terraform に指示します。variables.tf
には、terraform.tfvars
ファイルから値が取り込まれる変数定義が含まれます。mongo.tf
は、以下のオプションを使用して、Analytics アドオンで Databases for MongoDB EE インスタンスを作成します。- 6 CPU コア
- 14 GB RAM
- 20 GB のメモリー。
Terraform スクリプトは、 output.json
という名前のファイルに保管されている接続ストリングを出力します。 このファイルは、以下のステップで使用されます。
ステップ 5: Databases for MongoDB EE インスタンスへのデータのアップロード
このステップでは、 Node.js スクリプトを使用して、 Databases for MongoDB EE インスタンスにデータをアップロードします。 世界保健機関(WHO)コロナウイルス( COVID-19 )ダッシュボードでは、 COVID-19 のデータ(死亡者数、ワクチン利用、症例)を毎日更新しています。
プロジェクト・ディレクトリーにいることを確認してから、以下のコマンドを使用して、このデータを Databases for MongoDB EE インスタンスにインポートします。
cd import-covid-data
npm install
node main.js
npm install
コマンドは、スクリプトに必要なすべての依存関係をインストールします。
main.js
スクリプトは、以下のようないくつかのことを行います。
- 接続ストリングを読み込んで、 Databases for MongoDB EE インスタンスに接続できるようにします。
- Databases for MongoDB EE インスタンスにアクセスするためのパスワードを
terraform.tfvars
資格情報ファイルで読み取ります。 - WHO ダッシュボードから COVID データ・ファイルを読み取ります。 このデータ・ファイルは CSV 形式であり、 MongoDB は JSON 形式を必要とするため、スクリプトはデータを読み取って JSON 文書に変換します。
- Databases for MongoDB EE インスタンスに接続し、すべてのデータ (200k+ 行) を
daily_covid_global_data
という名前のコレクションにアップロードします。 コレクションが存在する場合、コレクションは削除され、再度開始されます。 重複データをインポートせずに、スクリプトを複数回実行できます。
すべてのデータをアップロードするのに数秒しかかかりません。 これで、Tableau を使用して視覚化する準備ができました。 実行したスクリプトによって、次のステップに必要な接続ストリングが出力されます。
ステップ 6: データベース・インスタンスを Tableau に接続する
Databases for MongoDB EE (Enterprise Edition) Analytics アドオン・インスタンスを Tableau に接続します。 「接続」タブで、 MongoDB BI コネクターを選択し、接続情報を入力します。
サーバーとポートの値は、 ステップ 4の印刷出力から取得されます。 データベースを空白のままにします。 ユーザー名は「admin」です。 パスワードは、 ステップ 2で作成したパスワードです。
「初期 SQL」タブで「FLUSH SAMPLE」と入力し、「サインイン」をクリックします。
FLUSH SAMPLE
コマンドは、コレクション文書のサンプルから必要な表形式スキーマを再作成するように BI コネクターに指示します。 文書構造が変更されるたびに、 FLUSH SAMPLE
コマンドを再実行して BI コネクター・スキーマを再作成する必要があります。
データベースに多数の文書がある場合、スキーマの作成には時間がかかります。 FLUSH SAMPLE
を実行するのは、ドキュメント構造が変更された場合、または新しいコレクションを作成した場合のみにしてください。
ステップ 7: データを視覚化する
これで、右側の WHO データベースを選択できます。 次に、「今すぐ更新 (Update Now)」を押して、データを表形式で表示します。
右側のメニューからマップ・ビューを選択すると、国別コードを含む列と累積ケースを含む行を含む、適切なマップでデータを表示することもできます。
ステップ 8: インフラストラクチャーのプロビジョン解除
課金が発生しないようにするには、リソースをプロビジョン解除することを忘れないでください。 Terraform がこれを処理できます。 端末で、プロジェクトの terraform
ディレクトリーに入っていることを確認してから、以下のコマンドを使用します。
terraform destroy --auto-approve
インスタンスがプロビジョン解除されたことを確認するには、 IBM Cloud コンソールの「リソース」セクションを確認します。
要約
このチュートリアルでは、Terraform を使用して Databases for MongoDB EE (Enterprise Edition) インスタンスをプロビジョンしてから、Analytics Add-On BI Connector を使用して Tableau でデータを視覚化しました。
IBM Cloud の発見の旅を続けるための オファーが用意されている ことを覚えておいてください!