【Hadoop】Apache Hadoop ~ 入門編 ~

■ はじめに

https://dk521123.hatenablog.com/entry/2019/09/13/212325

の続き。

Apache Hadoop について調べてみた

目次

【0】動画
【1】Hadoop(ハドゥープ)
【2】Hadoopの基本構成
 1)HDFS (Hadoop 分散ファイルシステム)
 2)Hadoop MapReduce (分散処理エンジン)  
 2’)Hadoop YARN

【0】動画

* Udacity(ユダシティ)の Freeコースがためになりそう。

Intro to Hadoop and MapReduce
https://www.udacity.com/course/intro-to-hadoop-and-mapreduce--ud617
Deploying a Hadoop Cluster
https://www.udacity.com/course/deploying-a-hadoop-cluster--ud1000
Big Data Analytics in Healthcare
https://www.udacity.com/course/big-data-analytics-in-healthcare--ud758
Machine Learning for Trading
https://www.udacity.com/course/machine-learning-for-trading--ud501

【1】Hadoop(ハドゥープ)

* 大量データを複数マシンで、
 分散して処理することができるオープンソース

プログラム言語

* Java

対応OS

* Linux

 【2】Hadoopの基本構成

Hadoopは、大きく分けて HDFS と MapReduce で構成されている。

1)HDFS (Hadoop 分散ファイルシステム)
2)Hadoop MapReduce (分散処理エンジン)  

構成図
https://www.casleyconsulting.co.jp/blog/engineer/150/

+---------------+---------------------+
|  Hadoop       |  HBase              |
|   MapReduce   | (分散データベース)    |
+---------------+---------------------+
|               HDFS                  |
|   (Hadoop Distributed File System)  |
+-------------------------------------+

1)HDFS (Hadoop 分散ファイルシステム)

* HDFS : Hadoop Distributed File System
 => Hadoop 分散ファイルシステム
* 複数のマシンを1つのストレージとして見せるファイルシステム
* HDFS は、大きく分けて DataNode と NameNode で構成されている  

a)Data Node (データノード)

* 一定の大きさ(64MB/128MB etc)に
 区切られた断片化されたデータが「Data Node」に格納されている  

b)Name Node (ネームノード)

* どのデータがどの「Data Node」に格納されているかは、
 「Name Node」に格納されている  

【構成図】

                      NameNode
                         |
   +-----------+---------+---------+---------+
   |           |         |         |         |
 DataNode  DataNode  DataNode  DataNode  DataNode

2)Hadoop MapReduce (分散処理エンジン)

* HDFSから取り出したデータを、複数マシンに分散させ、並列処理させる仕組み  
* MapReduce は、大きく分けて 以下の3段階に分けられる  
    * Map(出力)  
    * Shuffle(並べ替え)  
    * Reduce(集計)  

a)Map

* 断片化された DataNode に散在しているデータを
 読み込んで、集計したいデータを出力する

[主な処理]
1) 不要な情報を取り除く
2) 値を別の形式に変換する 

b)Shuffle

* 集計しやすいようにデータを並べ替える  

c)Reduce

* 複数の DataNode から集められたデータを
 取りまとめて最終的な集計を行う  

[主な処理]
1) データの集計

2’)Hadoop YARN

* YARN : Yet-Another-Resource-Negotiator (まだ-ほかの-リソース-公証人)
* Hadoop2系
* 分散処理フレームワークHadoop MapReduceの仕組みが変更となり、
 分散リソース制御機構 Hadoop YARNとMapReduce ApplicationMasterの2つに分離

https://qiita.com/keigodasu/items/09f7e0a15d721b0b5212

  参考文献

http://www.atmarkit.co.jp/ait/articles/1106/21/news117.html
https://www.atmarkit.co.jp/ait/articles/1701/01/news013.html
http://www.atmarkit.co.jp/ait/articles/0807/08/news119.html
 https://blogs.itmedia.co.jp/itsolutionjuku/2015/06/hadoop.html
http://www.hitachi.co.jp/products/it/bigdata/column/column04.html

 関連記事

Apache Hadoop ~ 設定プロパティ ~
https://dk521123.hatenablog.com/entry/2021/06/23/151148
Hive / HiveQL ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2019/11/25/235219
分散処理フレームワーク
https://dk521123.hatenablog.com/entry/2019/09/13/212325
Apache Spark ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/09/14/123206