Apache Hadoop とは
Apache Hadoop ソフトウェアは、オープンソースのフレームワークで、シンプルなプログラミング モデルを使用して複数のコンピュータ クラスタにまたがる大規模なデータセットの分散ストレージと処理を可能にします。Hadoop は、1 台のコンピュータから数千台のクラスタ化されたコンピュータまでスケールアップできるように設計されており、マシンごとにローカルでの演算処理とストレージを提供します。この方法により、Hadoop はギガバイトからペタバイトまでの幅広いサイズのデータで、大規模なデータセットを効率的に保存、処理できます。
Dataproc を使用して Google Cloud 上で Apache Hadoop クラスタを、シンプルで統合され、費用対効果に優れた方法で実行する使い方について学びましょう。
Apache Hadoop の概要
主要な Hadoop フレームワークは 4 つのモジュールで構成され、モジュール同士が連携して Hadoop エコシステムを形成します。
Hadoop 分散ファイル システム(HDFS): Hadoop エコシステムの主要コンポーネントである HDFS は、スキーマを前もって定義する必要がなく、アプリケーション データへのハイ スループットなアクセスを提供する分散ファイル システムです。
Yet Another Resource Negotiator(YARN): YARN は、クラスタ内のコンピューティング リソースを管理し、ユーザーのアプリケーションをスケジュールするためのリソース管理プラットフォームです。Hadoop システム全体のスケジュール設定とリソース割り振りを実行します。
MapReduce: MapReduce は、大規模なデータ処理のためのプログラミング モデルです。分散計算および並列計算のアルゴリズムを使用することで、MapReduce は処理ロジックの引き継ぎを可能にし、大規模なデータセットを 1 つの管理しやすいセットに変換するアプリケーションの開発を可能にします。
Hadoop Common: Hadoop Common には、他の Hadoop モジュールで使用、共有されるライブラリやユーティリティが含まれます。
すべての Hadoop モジュールは、マシンが個々にまたはラックごとハードウェア障害を起こすことはありふれた事象であり、フレームワークによってソフトウェアで自動的に処理されるべきであるという基本的な前提に基づいて設計されています。Apache Hadoop MapReduce と HDFS のコンポーネントは、元は Google MapReduce と Google File System(GFS)の論文から派生しました。
HDFS、YARN、MapReduce にとどまらず、Hadoop のオープンソース エコシステム全体が成長を続けており、ビッグデータの収集、保存、処理、分析、管理を支援する多くのツールやアプリケーションがあります。たとえば、Apache Pig、Apache Hive、Apache HBase、Apache Spark、Presto、Apache Zeppelin があります。
Hadoop のメリット
フォールト トレラント
Hadoop エコシステムでは、大規模なクラスタでジョブを実行しているときに個々のノードで大量のエラーが発生しても、データがクラスタ全体に複製されているため、ディスク、ノード、ラックにエラーが発生した場合でも簡単に復元できます。
コスト管理
Hadoop は、他のプラットフォームよりも 1 テラバイトあたりのデータをより廉価で保存することでコストを管理します。Hadoop は、1 テラバイトあたり数万ドルをハードウェアに費やすのではなく、1 テラバイトあたり数百ドルという手頃な価格の標準的なコモディティ ハードウェアでコンピューティングとストレージを提供します。
オープンソース フレームワークのイノベーション
Hadoop はグローバルなコミュニティを基盤としており、新しいコンセプトと機能の導入を、社内チームが独自仕様のソリューションに取り組むよりも、迅速かつ効果的に実現することを目指しています。オープンソース コミュニティの力を結集することで、より多くのアイデア、迅速な開発、問題が発生したときのトラブルシューティングが可能になり、市場投入までの時間を短縮できます。
Hadoop が必要な理由
Apache Hadoop は、膨大な量のビッグデータを迅速かつ確実に処理する必要性から生まれました。Hadoop は、データドリブンな企業がビッグデータの保存と解析を行うために導入しつつある、オープンソース ソフトウェアのエコシステムを実現しているシステムです。Hadoop の分散性は、ハードウェアによってクリティカルな高可用性を実現するのではなく、アプリケーション レイヤで障害を検出して処理するように設計されているため、コンピュータ クラスタ上で高可用性サービスを実現し、個々のマシンの障害のリスクを軽減します。
1 台の大きなコンピュータを使用してデータを保存、処理する代わりに、Hadoop は複数のコンピュータのクラスタを使用して大規模なデータセットを並列で分析します。Hadoop は、さまざまな形式の構造化データや非構造化データを処理できるため、企業はビッグデータの収集、処理、分析において、リレーショナル データベースやデータ ウェアハウスで実現できる以上のスピードと柔軟性を得ることができます。
Apache Hadoop の用途
分析とビッグデータ
多岐にわたる企業や組織が、テラバイトからペタバイト規模のビッグデータの処理、多様性に富んだデータセットの保存、データの並列処理を必要とする研究、本番環境用データ処理、分析に Hadoop を利用しています。
業界
テクノロジー、教育、ヘルスケア、金融サービスを含む多くの業界の企業は、構造化データと非構造化データの多様性、ボリューム、高速性という共通のテーマのタスクのために Hadoop を利用しています。
AI と機械学習
Hadoop エコシステムは、人工知能や機械学習アプリケーションの開発をサポートするうえでも重要な役割を果たしています。
クラウド コンピューティング
企業は多くの場合、柔軟性、可用性、コスト管理を実現するために、オンプレミスのハードウェアではなく、パブリック クラウド、プライベート クラウド、またはハイブリッド クラウドのリソース上で Hadoop クラスタを実行することを選択します。多くのクラウド ソリューション プロバイダは、Google Cloud の Dataproc など、Hadoop 向けのフルマネージド サービスを提供しています。このようなクラウドネイティブ Hadoop 向けにパッケージ化されたサービスを使用することで、これまで何時間も何日もかかっていたオペレーションが数秒から数分で完了し、企業は使用したリソースのみに対する支払いを行います。
関連プロダクトとサービス
Dataproc は、Apache Spark クラスタと Apache Hadoop クラスタをシンプルかつ統合された、費用対効果に最も優れた方法で実行するための、高速で使いやすいフルマネージド クラウド サービスです。重要なセキュリティ、ガバナンス、サポートのニーズを満たす他の Google Cloud サービスと完全に統合されているため、データ処理、分析、機械学習のための完全で強力なプラットフォームを入手できます。
Dataproc、BigQuery、Notebooks、Dataflow のような Google Cloud のビッグデータ分析ツールを使用することで、コンテキストリッチなアプリケーションを構築し、新しい分析ソリューションを構築して、データを行動につながるインサイトに変換できます。