White scenery @showyou, hatena

If you have any comments, you may also send twitter @shsub or @showyou.

データ集計・分析環境のあれこれ

現在自分の主業務はデータ集計・分析基盤の構築なのだけども、意外とまとまった情報ってなさそうなのでまとめてみる。まずは雑多に並べてみて、あとで整理します。あと自分が触ってないものもあります。

 

・何を使っていくべきか?

まず機械学習とか分析するのにいきなりHadoopクラスタ組み上げるのも大変なので、必要に応じて学んで行けばよいかと。

逆に大量ログデータを一括で処理したいって場合にはHadoopでも組み上げた方がいいかと。

 

参考:昨年秋の日記

http://showyou.hatenablog.com/entry/2014/09/15/005055

 

・言語

Python

R

Julia

SQL

HiveQL

 

・並列計算エンジン

Hadoop

 Hive, HBase, Pig, YARNなどはHadoop上の1部品。Hadoopの中身を列挙するだけでも長くなるので別エントリで

Spark

 Sparkはメモリ上でのバッチ計算を行うシステムで、メモリに乗るレベルの計算ならHadoopより早い(対MapReduce. YARNベースのものは要比較)

 

・KVS

HBase

 Hadoopの上で動く

Redis

   シンプル故に早い

MongoDB

   jsonでデータやりとり出来るのが楽。トランザクションで偶に泣きを見てる人がいる気がする。

Riak

Cassandra

 Column(列)ベース

Geode

 Pivotal GemFire の OSS 版、Geode のビルド - めざせ!細マッチョ

   https://network.pivotal.io/products/project-geode

 in memory KVS. Pivotal GemfireのOSS版。ビルドは一手間いりそう。

最近couchDBは聞かなくなった気が

 

・DB

MySQL

PostgreSQL

Greenplum

Vertica

Redshift

Hive

 DBというより、Hadoop上のファイルや集計処理をDBのように扱えるツールといった感じ。SQLとは少し違うHiveSQLを使用。

Impala, Presto, Drill,  HAWQ

 このあたりもHadoop上で動くSQLエンジン

 

・Streaming処理

Apache Storm

Norikra

 http://norikra.github.io/

Spark Streaming

 自分まだ触ってないですが、バッチ処理を細かくして実行間隔を短くしてるので、上2つほどではない気が

 

・視覚化

ipython notebook

RStudio

Hue

shib

Pentaho

Tableau

Microstrategy

 

・ログ・データ転送

Flume

Sqoop

fluentd

embulk

pentaho

 

機械学習

scikit-learn(python)

Torch7

madlib

 http://madlib.net/

 SQL, Rから利用できるOSSのライブラリ。

libsvm(liblinear)

 

・Deep Learning

Deep Learning リンク集 - 人工知能に関する断創録

Torch7

H2O

 http://0xdata.com/

 

適当に列挙するだけじゃなくて、ユースケースに応じて使い方を紹介した方がよさそうですね。