Translate

2016/09/30

流行りのビッグデータをやってみた。

最近、Twitterからツイートを分析するような作業が多かったので、これはデータ分析の入り口として良さそうだったので、勉強・実践してみた。

データ分析とは

この定義もかなりあいまいなようでピンとくる記事が見つからなくて困った。
一番わかりやすかったのはこちらのデータサイエンティストの説明。

以下自分なりにまとめた、作業・ツール。

収集 =>  整形  =>  蓄積 =>  分析・可視化
説明 アクセスログや可視化したい統計データなどをDBなどに保存する。 収集した時に実行する場合と、DB保存後にバッチ処理する場合がある。 データを保存しておく場所。DataWareHouseというらしい。 Visualization。これもリアルタイムでデータを更新していくものと、バッチ的に分析するものがある。
ツール
fluentd
logstach
Apache Spark
Hadoop
自作スクリプト
Apache Spark
Hadoop
自作スクリプト
Elasticsearch
Apache Solr
各DB
AWS S3
Google Drive
ローカル
Kibana
Banana
Jupyter
Rstudio
Data sientist workbench
スプレッドシート 

整形・分析などをサービスとして使えるBIツールというものがあるが、今回は調査できなかった。

今回やってみたこと

やり方はいろいろありすぎて、どれがいいのか分からず。流行りのデータ解析らしく、
Spark + Elasticsearch + Kibana
という割りと情報がありそうなものをやってみた。

参考記事とやった結果:
https://github.com/Samemura/twitter-spark

無事、SparkでデータをElasticsearchに蓄積し、Kibanaで表示できるようにできた。

感想

データ分析の流れを構築できたものの、効果的に分析できる方法は構築できなかった。
このあたりはKibanaでは限界がありそうなので、Jupyterなどで分析する方法を検討したい。
またデータ収集部分は、普段から使っているスクリプトなどでもあまり困らなそうだと感じた。大量のデータをリアルタイムで分析する、まさにビッグデータでなければメリットがなさそう。

アルゴリズムの検討などには、
1.自作スクリプトでデータ収集
2.Jupterなどで詳細分析・可視化
を次のステップとしたい。