SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Elastic Stackではじめるデータ分析・活用入門

NASAやNetflixも利用するデータ分析・活用基盤「Elastic Stack」とは? 環境構築からデータ投入方法まで解説

はじめてのデータ投入にチャレンジ

 ユースケース別の内容にチャレンジする前に、今回は一番シンプルにデータを投入する方法を試してみましょう。ブラウザから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回目はここまでです。次回はこのデータを活用し、データの見える化に取り組みます。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
Elastic Stackではじめるデータ分析・活用入門連載記事一覧
この記事の著者

山下 城司(NTTテクノクロス)(ヤマシタ ジョウジ)

 ソフトウェア開発企業のNTTテクノクロスで、新規ソリューションを検討・開発する仕事に従事。NTTテクノクロスはElastic Stackの販売代理店業務も担い、筆者自身もデータ分析等で実際にElastic Stackをソリューションに組み込むなどして積極的な活用に取り組んでいる。Elastic社の...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/15427 2022/02/25 11:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー