はじめてのデータ投入にチャレンジ
ユースケース別の内容にチャレンジする前に、今回は一番シンプルにデータを投入する方法を試してみましょう。ブラウザからKibana経由でElasticsearchにCSV形式のデータを投入してみます。
Elasticsearchにデータを投入する
ここからはオープンデータをダウンロードしてきて、そのデータをElasticsearchに投入してみましょう。 オープンデータとして今回はE for Excelが公開している、売上やコストなどのセールスデータを使います。
なお、これはランダムに生成されたテストデータとなるため、このデータは現実に即したものではありません。ご注意ください。
カラムの一覧と説明は以下の通りです。
| カラム名 | 説明 | 例 |
|---|---|---|
| Region | 地域 | Asia |
| Country | 国 | Japan |
| Item Type | 種別 | Cosmetics |
| Sales Channel | 販売経路 | Offline |
| Order Priority | 注文の優先順位 | H |
| Order Date | 注文日 | 9/19/2013 |
| Order ID | 注文ID | 967895781 |
| Ship Date | 発送日 | 9/28/2013 |
| Units Sold | 販売個数 | 725 |
| Unit Price | 販売価格 | 437.2 |
| Unit Cost | 製造コスト | 263.33 |
| Total Revenue | 合計売上(販売個数 * 販売価格) | 316970 |
| Total Cost | 合計コスト(販売個数 * 製造コスト) | 190914.25 |
売上・コスト・利益について、さまざまな付加情報を持ったデータですね。可視化のやりがいがありそうです。
では、データの傾向が分かったら投入していきましょう。今回は投入方法として一番簡単なKibanaの画面からデータをアップロードする方法でデータを投入していきます。
ブラウザでhttp://localhost:5601にアクセスします。
画面左上にある「漢字の三のようなアイコン(ハンバーガーメニュー)」をクリックすると、Kibanaのメインメニューが画面左側に表示されます。Kibanaの各種機能にアクセスする時には必ずこれを使うので、覚えておきましょう。
メインメニューのAnalyticsの中にある[Machine Learning]をクリックします。この機能群の中にはElasticsearchに簡単にデータを投入できるData Visualizer機能が搭載されているのです。それを使うのが目的です。
表示された画面の上部にいくつかメニューが表示されます。その中から[Data Visualizer]をクリックします。続いて、[Import data]の下にある[Select file]をクリックします。
[Select or drag and drop a file]をクリックし、先ほどダウンロードした[10000 Sales Records.csv]をアップロードするファイルとして選択します。該当箇所にファイルをドラッグ&ドロップしても良いでしょう。
すると、Kibanaがファイル内容を解析し、どのようなデータであるかを表示してくれます。画面を少し下にスクロールします。
「File stats」欄では、ファイルの先端1000行に含まれるデータについて、それぞれのカラムに関する情報を表示してくれます。この画面を見ることで、わかることをいくつか書き出してみます。
- 全般:「Documents」が全てのカラムで100パーセントなので、それぞれのカラムは必ず何らかのデータが入っていて欠損していなさそう
- Country:国の種類は182種類以上で、それぞれの国のデータ件数はそれほど差がなさそう
- Order Date:831/999が違う値であるため、注文日が同じ日のデータはあまりなく、異なる日のデータが入っているものが多そう
- Order ID:999/999が違う値であるため、全てのデータそれぞれについて異なるIDが払い出されそう
- Region:値は7種類のみであり、リージョンによって含まれる件数に大きな差がありそう
これらのことがcsvデータを見るだけで一瞬にして分かるでしょうか。また、Excelやプログラムで可視化するにしてもこれを表示するまでには一手間かかるのではないでしょうか。可視化する前のデータ投入時点で一瞬にしてデータ傾向がわかる機能はとても便利です。ただし、ファイルの先端1000行のみに対する解析であるため、正確な結果ではないことには注意が必要です。
私は出自のわからないデータを解析する前には必ずこのData Visualizerでデータの傾向を掴むようにしています。その後、Elasticsearchを用いた簡単な可視化を行うことで、データへの理解を深めていくことが多いです。
ファイルの傾向を確認し終えたら、画面左下の[Import]をクリックします。
投入するデータが入るインデックスに名前を付けます。ここでは「sales-data」という名前を入力し、[Import]をクリックします。
そのまま待機すると、データの投入が進み、全ての工程にチェックマークが表示されたら投入完了です。[View index in Discover]をクリックします。
この画面はKibanaの基本機能であるDiscover画面です。Elasticsearchに投入されたデータを1件1件表示しながら確認できます。可視化する前にはこの画面で実際の値を確認しながら、どんな可視化をしようか検討するのがオススメです。
ここまでで、Kibanaの画面からElasticsearchにデータを投入できました。第1回目はここまでです。次回はこのデータを活用し、データの見える化に取り組みます。







