Hadoopについての勉強メモです。参考サイト様を元に理解を深めたいと思います。
以下のAmazon EMR(Amazon Elastic MapReduce)について学ぼうと思ったところ、このHadoopというソフトウェアのフレームワークの知識が必要だった為、初めて調べてみました。
https://normalblog.net/system/aws/emr/
そもそもHadoopって何だろう・・・
分散処理技術「Hadoop」とは
Hadoopとは、大規模データの蓄積・分析を分散処理技術によって実現するオープンソースのミドルウェアです。 Apacheプロジェクトの元で、Hortonworks社、米国Yahoo!社、Cloudera社といった初期から参加していた企業に加えて、 Intel社、Microsoft社などより多くの企業のメンバーによって開発が続けられています。
参考サイト様
http://oss.nttdata.co.jp/hadoop/hadoop.html
Hadoopを一言でいうと
並列分散処理を実現するミドルウェア
- 複数のIAサーバを束ねて、ひとつの大きな処理システムとして利用
- 特に大量データの格納・処理に最適化
- データを複数のサーバに分割して格納
- 利用時には、複数のサーバから、それぞれのデータを同時に読み込む
- 分散ファイルシステムと並列分散処理フレームワークの2つのコンポーネントで構成
- Hadoopマスタサーバが管理しHadoopスレーブサーバが処理する
- 1つのブロックを複数のDataNodeで保存しているので任意のDataNodeが故障してもデータを失わない
- MapReduce(アルゴリズム)
- 大量の件数のデータがあった時に、複数ワーカーで並列に処理できる仕組み
- Map
- データを分類・仕分け
- Reduce
- データごとに処理
- Map
- 大量の件数のデータがあった時に、複数ワーカーで並列に処理できる仕組み
参考サイト様
なんとなく概要がわかりました。実際に触ってみる機会があればまた追記したいです。
他参考サイト様