@johtaniの日記 2nd

@johtani ‘s blog 2nd edition

アジャイルデータサイエンスが届きました

「アジャイルデータサイエンス」の見本をいただいてしまいました。

なので、感想文でも書いてみようかと。

どんな本?

想像以上に薄かったです、物理的に。 なのに、とても幅広い範囲をカバーしています。

データの分析にどんな人が関わっているのか、アジャイルにデータを分析する目的から始まり、 データから何かを見つけるための手順、考え方などをさらっとですが、 システムに取り込む流れから取り込んだあとに改良するという流れまで紹介してくれます。 流れはこんな感じ。

  1. イベント:ログとかのイベントの発生
  2. コレクタ:イベントの収集
  3. バルクストレージ:イベントの一時保存
  4. バッチ処理:ストレージにあるデータに対して処理
  5. 分散ストア:処理結果をWebアプリなどで表示するために保存
  6. Webアプリ:処理結果をユーザに提供

Webアプリでデータを見えるようにして、そこから更にフィードバックを受けることで、データの分析などを進めていくという流れです。

私はデータサイエンス系の人ではないのでこの流れで作業をされているかはわからないのですが、 検索のシステムについてもこの流れに似ているなと感じました。

検索システムでも、検索したいデータを収集して、加工(検索したい項目の洗い出しやファセットにする項目の選定とか)して、 インデックスを生成するといった処理が必要になるからです。

この本では、Python、Hadoop(Pig)、MongoDB、ElasticSearch(バージョンが0.90だから)、d3.jsなどが出てきます。 また、日本語版の付録では、Fluentd、Kibana+Elasticsearchといった組み合わせの紹介もあります。

コードも書かれていますが、すみません、そこまでちゃんと読んでません。。。

後半では、データを活用して行くためには順序があるという話が書かれています。

  1. レコード:レコード1件のアトミックな処理と表示
  2. グラフ:レコードを元に集計したりグラフ作ったり
  3. レポート:関係性やトレンドを抽出し、インタラクティブに探求
  4. 予測:構造を利用して、推論やレコメンドとか
  5. 行動:上記の結果を元にユーザに行動を促す

前のステップがおろそかだと次のステップがうまくいかないという話です。 後半はこの流れに沿って、先ほどのシステムの流れを変更していく方法が展開されます。

注意点

ちょっとだけ気になる点があったので。

Elasticsearch周りについては少し注意が必要かと。(Pigとかは詳しくないので不明です。) 紹介されているElasticsearchのバージョンが0.90と少し古いのと、 Hadoopとの統合(Pigで処理したデータをElasticsearchに出力)に利用されているWondordogというツールも最近更新がされていないみたいです。 おそらく、1.0系では動かないのではないかと。

1.0系の場合は、Elasticsearchが提供しているelasticsearch-hadoopを利用するのが良いと思います。

付録については1.0系で記載されているので問題ないかと。ただし、Elasticsearchは更新が早いので、公式サイトで最新情報を入手するのが良いと思います。

感想

データを解析するシステムってどんなことやってるの?という全体像を 俯瞰するのに良い本なのではないかと思います。 また、データの解析を活かすために、必要な順序と疎かにできない点もあって面白かったです。

紹介されているツール類については、OSSのトレンドや開発速度が早いので、参考程度にとどめておいて、 自分たちで使いやすいものを探してきて検討するのがいいと思います。

付録がとても豪華です。FluentdやKibanaがわかりやすく解説されてます。

あと、薄いのでさらっと読めます。w

Comments