Hadoop エコシステムとは
Apache Hadoop エコシステムとは、Apache Hadoop ソフトウェアライブラリのさまざまなコンポーネントを指します。オープンソースプロジェクトだけでなく、補足ツールの全てが含まれます。Hadoop エコシステムの最もよく知られているツールには、HDFS、Hive、Pig、YARN、MapReduce、Spark、HBase Oozie、Sqoop、Zookeeper、などがあります。開発者が頻繁に使用する主要な Hadoop エコシステムコンポーネントは次のとおりです。
HDFS とは
Hadoop 分散ファイルシステム(HDFS)は、最も大きい Apache プロジェクトと Hadoop のプライマリストレージシステムの 1 つで、ネームノードとデータノードのアーキテクチャを採用しています。コモディティハードウェアのクラスタ上で実行されている大きなファイ ルを格納できる分散ファイルシステムです。
Hive とは
Hive は、Hadoop エコシステム内に格納されている大規模なデータセットをクエリまたは分析するために使用される、ETL およびデータウェアハウスツールです。Hive には、Hadoop の非構造化データと半構造化データの要約、クエリ、分析という3つの主要な機能があります。SQL に似たインターフェースである HQL 言語を備えており、SQL と同様に動作し、クエリを MapReduce ジョブに自動的に変換します。
Apache Pig とは
Pig は、Hadoop 内で使用される大規模なデータセットのクエリを実行するために使用される、高レベルスクリプト言語です。Pig の単純な SQL のようなスクリプト言語は Pig Latin と呼ばれ、その主な目的は、必要な演算を実行し、最終的な出力を目的の形式で準備することです。
MapReduce とは
MapReduce は、Hadoop の別のデータ処理層です。大規模な構造化データと非構造化データを処理する機能を備えている他、ジョブを独立したタスク (サブジョブ) のセットに分割して、非常に大きなデータファイルを並行して管理できます。
YARN とは
YARN は、Yet Another source Navigator の頭字語をとった略語です。リソース管理に適したオープンソース Apache Hadoop のコアコンポーネントの 1 つであり、ワークロードの管理、監視、およびセキュリティ制御の実装を担当します。また、Hadoop クラスタで実行されているさまざまなアプリケーションにシステムリソースを割 り当てると同時に、各クラスタノードで実行するタスクを割り当てます。YARN には、2 つの主要なコンポーネントがあります。
- リソースマネージャー
- ノードマネージャー
Apache Spark とは
Apache Spark は、さまざまな状況での使用に適した、高速なメモリ内データ処理エンジンです。Spark は、いくつかの方法で展開することができ、Java、Python、Scala、R のプログラミング言語を備え、SQL、ストリーミングデータ、機械学習、およびグラフ処理をサポートしているため、これらをアプリケーション内で一緒に使用できます。