メインコンテンツに移動

Hadoop とは

Apache Hadoop とは、ギガバイト規模からペタバイト規模までさまざまなサイズのデータからなる大規模なデータセットを、効率的に保存および処理するために使用されるオープンソースフレームワークです。データの保存と処理を単独の大型コンピュータで行う代わりに、Hadoop では複数のコンピュータをクラスター化して、巨大なデータセットの分析をよりすばやく並列実行できます。

Hadoop の 4 つの主要モジュールはどのようなものですか?

Hadoop は、次の 4 つの主要モジュールで構成されています。

  • Hadoop 分散ファイルシステム (HDFS) – 標準またはローエンドのハードウェア上で動作する分散ファイルシステム。HDFS は、高い耐障害性と大規模なデータセットのネイティブサポートに加えて、従来のファイルシステムよりも優れたデータスループットを提供します。
  • さらに別のリソースネゴシエーター (YARN) – クラスターノードとリソースの使用状況を管理および監視します。ジョブとタスクをスケジュールします。
  • MapReduce – プログラムがデータの並列計算を行うのに役立つフレームワーク。マップタスクは入力データを受け取り、キー値ペアで計算できるデータセットに変換します。マップタスクの出力は、出力を集約して目的の結果を提供するためにリデュースタスクによって消費されます。
  • Hadoop Common – すべてのモジュールで使用できる共通の Java ライブラリを提供します。

Hadoop はどのように機能しますか?

Hadoop を使用すると、クラスターサーバーのすべてのストレージと処理能力を簡単に利用でき、大量のデータに対して分散プロセスを実行できます。Hadoop は、他のサービスやアプリケーションを構築するためのビルディングブロックを提供します。

さまざまな形式でデータを収集するアプリケーションは、API 操作を使用して NameNode に接続することで、データを Hadoop クラスターに配置できます。NameNode は、DataNode 間で複製された各ファイルのファイルディレクトリ構造と「チャンク」の配置を追跡します。データをクエリするためのジョブを実行するには、DataNodes 全体に分散した HDFS 内のデータに対して実行される多数のマップタスクとリデュースタスクで構成される MapReduce ジョブを指定します。マップタスクは、提供された入力ファイルに対して各ノードで実行され、レデューサーを実行して最終出力を集約および整理します。

Hadoop エコシステムはどのように進化してきましたか?

Hadoop エコシステムは、その拡張性により、長年にわたって大幅に成長してきました。現在、Hadoop エコシステムには、ビッグデータの収集、保存、処理、分析、管理に役立つ多くのツールとアプリケーションが含まれています。最も人気のあるアプリケーションには次のものがあります。

  • Spark — ビッグデータワークロードによく使用されるオープンソースの分散処理システムです。Apache Spark では、高速パフォーマンス向けにインメモリキャッシュと最適化された実行方法を使用して、一般的なバッチ処理、ストリーミング分析、機械学習、グラフデータベース、アドホッククエリなどをサポートしています。
  • Presto — 低レイテンシのアドホックデータ分析に最適化されたオープンソースの分散 SQL クエリエンジンです。ANSI SQL 標準をサポートしており、複雑なクエリ、集計、結合、ウィンドウ関数を実行できます。Presto を使用して、Hadoop Distributed File System (HDFS) や Amazon S3 など、複数のデータソースのデータを処理できます。
  • Hive — ユーザーは SQL インターフェイスを使用して Hadoop MapReduce を活用できるため、分散型のフォールトトレラントデータウェアハウスに加えて、大規模な分析が可能になります。
  • HBase — Amazon S3 (EMRFS を使用) または Hadoop 分散ファイルシステム (HDFS) 上で稼働する、オープンソースの非リレーショナルバージョン管理データベース。HBase は、数十億の行と数百万の列を持つテーブルへのランダムで厳密な一貫性のあるリアルタイムのアクセス用に構築された、大規模にスケーラブルな分散型のビッグデータストアです。
  • Zeppelin – インタラクティブなデータ探索を可能にするインタラクティブなノートブック。

AWS は Hadoop 要件をどのようにサポートできますか?

Amazon EMR は、完全にカスタマイズ可能なクラスターで、Apache Hadoop、Spark、HBase、Presto などの有名なビッグデータ処理フレームワークの最新バージョンを使用して、大規模なデータセットを処理および分析できるマネージドサービスです。

  • 使用が簡単: Amazon EMR クラスターは数分で起動できます。ノードのプロビジョニング、クラスターのセットアップ、Hadoop の設定、クラスターの微調整など、わずらわしい作業は不要です。
  • 低コスト: Amazon EMR の料金体系は予想がしやすくシンプル: 使用するインスタンスの時間ごとに 1 時間単位で料金を支払い、スポットインスタンスを活用して大幅な節約を実現できます。
  • 伸縮自在: Amazon EMR は、コンピューティングインスタンスを 1 つでも数百、数千でもプロビジョニングできるため、あらゆる規模のデータ処理に対応します。
  • 一時的: EMRFS を使用して、Amazon S3 に永続的に保存されている HDFS データに基づいてクラスターをオンデマンドで実行できます。ジョブが終了したら、クラスターをシャットダウンしてデータを Amazon S3 に保存できます。クラスターが実行されているコンピューティング時間に対してのみ支払います。
  • 安全: Amazon EMR は、AWS サービスの一般的なセキュリティ特性をすべて使用しています。
    • アクセス許可を管理するための AWS Identity and Access Management (IAM) ロールとポリシー。
    • 転送中および保管時の暗号化により、データを保護し、HIPAAなどのコンプライアンス基準を満たすのに役立ちます。
    • クラスターノードへのインバウンドとアウトバウンドのネットワークトラフィックを制御するセキュリティグループ。
    • AWS CloudTrail: アカウントで行われたすべての Amazon EMR PI 呼び出しを監査して、セキュリティ分析、リソース変更追跡、コンプライアンス監査を行います。

今すぐアカウントを作成して、AWS で Hadoop の使用を開始しましょう。