Apache製品の各概要について(備忘録)


Apache製品でデータ分析を行っていきたいのですが、
製品の種類を学び、それぞれの特徴を調べてから試してみようと思いました。
そのため、製品の情報を整理していきたいと考えております。

Hadoopについて

まずはHadoopからの紹介です。
量、速度、種類のような大量のデータを扱うアプリケーションに最適で、
ETL、データ分析、パターン認識、感情分析など幅広く活用可能です。

Hadoopでの分散処理は3つのシステムに対して何を使うか選定します。
・Processing(Apache spark, MapReduce )
・Resource Management(YARN, Apache Mesos, Spark Standalone)
・Storage(HDFS, Amazon S3, Apache Kudu)

HDFS

HDFSはHadoopの主記憶層であり、非常に多く扱われています。
データは格納時に分散され、みんなで分け与えて処理していこうというシステムです。

Apache Kudu

こちらは構造化データ用の分散カラム型(キーと値)ストレージ
ランダムアクセスとデータの更新が可能
HDFS上に構築されなく、SQLベースの分析が可能。
Clouderaさんが作成されました。

データ取り込みツールについて

・HDFS
 直接ファイルを転送

・Apache Sqoop  
 RDBからHDFSへの高速インポート
 多くのデータストレージシステムに対応(MongoDB, Ocacle, MySQLなど)

・Apache Flume
 ストリーミングデータを取り込むための分散サービス
 複数のシステムからのイベントデータに最適(ログファイルなど)

・Apache Kafka
 高スループットでスケーラブルなメッセージングシステム
 分散型