Alibaba CloudのKibanaで新型コロナウィルス感染状況を可視化しよう！

#前回の続き
前回2020/12/16の投稿の続きとなります。前回はElasticSearchのクラスターを構築してKinabaも同時に立ち上げるところまで実施しました。今回はKinabaのUIを操作して新型コロナウィルス感染状況の各種OpenDataを使って可視化したいと思います。

#データの用意
新型コロナウィルス感染状況について厚生労働省がcsvファイルでオープンデータを公開してくれています。これを使ってみたいと思います。
[厚生労働省オープンデータのサイト](https://www.mhlw.go.jp/stf/covid-19/open-data.html "厚生労働省オープンデータのサイト")

いくつかのデータをマージして1つのCSVにして今回は利用しました。
陽性者数、PCR検査実施人数、入院治療等を要する者の数、退院又は療養解除となった者の数、死亡者数のデータをマージしました。
![スクリーンショット 2020-12-17 23.53.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/6c707023-f89b-a2a1-96f8-37f65e944a06.png)

ここでKibanaというかElasticSearchのデータ形式の制限なのか、2020/01/16みたいなYYYY/MM/DD 形式だとDate形式で読み込んでもらえず、YYYY-MM-DDの形式にすることで変換がスムーズに行きました。

#データの読み込み
KibanaのUIからデータを読み込むことでElasticSearchのDBにデータを読み込ませることができます。今回導入したのはV7.7.1の画面になりますが様々な形式のデータを読み込めるメニューが用意されています。CSVデータは"Upload data from log file"のメニューから読み込みます。

![スクリーンショット 2020-12-17 10.31.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/83c75450-76f1-f6c6-34e6-64be2a08f0f0.png)
CSVファイルをドラックアンドドロップするだけです。
![スクリーンショット 2020-12-17 10.31.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/b401b3cc-1847-97cd-b7d8-917358324fb4.png)

#データのImport
Importを開始する際に、データ形式をチェックする"Override settings"メニューから"Should trim fields"の項目をチェックしてください。各種データがnumber形式で読み込まれます。これをチェックしていないとKeyword形式で読み込まれてしまい、数字として扱われなくなってしまいます。
![スクリーンショット 2020-12-18 0.03.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/e5f8648d-b5f6-ec44-3ace-5d5468df7893.png)
"Override settings"メニューを開いてください。
![スクリーンショット 2020-12-18 0.04.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/19717e68-8f81-40d8-0517-8623cebc78ad.png)
"Should trim fields"の項目をチェックしてください。
![スクリーンショット 2020-12-18 0.04.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/e6750fbe-0159-4a46-a736-2a257fdfa4f2.png)

これでImportしてみます。
![スクリーンショット 2020-12-17 10.39.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/0b7b22a2-cae4-835b-d232-cf7bb4d851fe.png)
Import後にビジュアライゼーションのメニュー"Open in Data Visualizer"がすぐ選べるようになっています。
![スクリーンショット 2020-12-17 10.39.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/28676b9c-1fc7-8bb0-e9d2-596fe8dc37c9.png)

#新機能のLensを使ってみる
Visualizerでもグラフ等を作成できるのですが、新機能でベータ提供されているLensを利用してみました。これもドラック＆ドロップでグラフが作成できる優れものです。
"Dashboard"メニューを選んで"Create new"を選択します。そうすると様々なグラフパターンとLensのトライアルも表示されます。
![スクリーンショット 2020-12-17 23.17.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/0c20d506-e942-8c2f-ad4e-783f6ca9a0eb.png)
"Go to Lens"を選んでください。
![スクリーンショット 2020-12-17 23.17.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/0acde7c4-ad61-74d3-c7a8-d12db1ee0f33.png)
左側のデータ項目を右側のX-axisやY-axisにドラップ＆ドロップするだけでグラフが自在に作れます。
![スクリーンショット 2020-12-17 23.17.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/4df968ad-8d20-7afc-2ef1-dcb854d5da2e.png)
時系列のヒストグラムにする場合はX-axisに@timestampを入れます。その他のデータも自由に選択します。
![スクリーンショット 2020-12-17 23.16.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/2de60367-2d86-fdbb-bc1c-329f4194b285.png)
作ったヒストグラムをSaveするとDashboardに反映されます。２種類のヒストグラムを作ってDashboardに反映してみました。簡単ですね！
![スクリーンショット 2020-12-17 23.42.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/593c5892-0c4c-b10b-0699-92d454db8c55.png)

作ったグラフをURLリンクで共有することができます。サイトなどに埋め込めばデータ分析サイトみたいなものが作れますね！
![スクリーンショット 2020-12-18 0.20.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/c2fa579c-e16b-6e7a-57d9-4604e3193a17.png)

#機械学習機能"Machine Learning"が！
"Machine Learning"というメニューがありとても気になっていますが、今回は詳細に試せませんでした。でも、CSVファイルを読み込んでサマリを分析されたメニューが"Machine Learning"の"Data Visualizer
"でした。その他に"Anomaly Detection"や”Data Frame Analytics”もありますのでこれを今後試さなければですね。
![スクリーンショット 2020-12-18 0.26.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/929631ba-7a21-a572-1524-c24833be71ce.png)
このメニューからCSVファイルを読み込むことでも、同じ読み込みができます。
![スクリーンショット 2020-12-18 0.26.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/57e8bb5f-7ed9-53f7-d386-312ba88c82c9.png)

#その他にAlibaba Cloudで作るKibana/ElasticSearchで便利なこと
Alibaba Cloudで自動構築されたElasticSearchには様々な必要なPlug-inも同時にインストールしてくれていました。特に日本語化Plug-inのKuromojiが最初からインストールされているのが嬉しいですね。
![スクリーンショット 2020-12-17 22.49.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/b54d919f-488a-5e42-34bd-356956ce1594.png)
またAlibaba CloudならではのPlug-inも多数用意されています。特に今回の環境には入れていませんでしたがaliyun-knnというものは画像認識のPlug-inでAlibaba CloudのAI研究所「DAMOアカデミー」が開発したものです。これもまた試してみたいですね！
![スクリーンショット 2020-12-17 22.48.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113808/d90c9d76-7dd6-9ec0-60f9-7c31aabc3e62.png)

#まとめ
・KibanaのUIからElasticSearchにデータを読み込ませ、ビジュアライゼーションまで一気にできます。
・Lensという強力なビジュアライゼーション作成ツールも導入され、どんどん進化していってます。
・データの準備などでは読み込ませるデータ形式に注意しましょう。（本来はKibanaの"Index patterns"メニューなどで定義を行って読み込ませるとスムーズのようです。）
・機械学習機能"Machine Learning"はさらに活用可能性を秘めています。
・Alibaba Cloud独自の環境設定で日本語化環境Plug-inなど事前に導入されていて便利になってます。
・aliyu-xxシリーズのAlibaba Cloud独自Plug-inも画像検索Plug-inなどあり試す価値ありです。

ElasticSearch、Kibanaは本当に便利なツールで、奥も深いツールですね。これからも勉強していきたいと思います。

参考にしたサイト
[https://www.elastic.co/jp/](https://www.elastic.co/jp/ "https://www.elastic.co/jp/")
[東洋経済Onlineサイト](https://toyokeizai.net/sp/visual/tko/covid19/ "東洋経済Online")