ビッグデータフレームワークのHadoopエコシステムのエピソード

1.2 Hadoopのエコシステム

アーキテクトや開発者は、多くの場合、その目的のソフトウェア開発に使用するソフトウェアツールを使用します。例えば、彼らは言うかもしれない、Tomcatは、Apache Webサーバーで、MySQLはデータベースツールです。

それはHadoopのに来るときしかし、物事は少し複雑になります。Hadoopのは、一緒に仕事するためのツールが多数含まれています。そのため、Hadoopのは、人々はしばしば、彼らが使用する方法に応じて、それを定義する多くのことを達成するために使用することができます。

何人かの人々のために、Hadoopがデータ管理システムです。彼らは、それが従来のエンタープライズ・データ・スタックの各層に一緒に構造化および非構造化データ、データの分布をもたらし、コアHadoopのデータ分析であると思います。他人のために、Hadoopのは、エンタープライズ・アプリケーションの実装を促進することを対象とスーパーコンピューティング機能と、超並列処理フレームワークです。一部の人々は、Hadoopのオープンソースコミュニティとして、ツールとソフトウェアの主要プロバイダは、ビッグデータの問題を解決すると思います。Hadoopのは、多くの問題を解決するために使用することができるため、非常に多くの人々は、Hadoopのが基本的なフレームワークだと思います。

Hadoopのは、非常に多くの機能を提供していますが、それはまだデータストレージを含む複数の成分からなるのHadoopエコシステム、データ統合として分類されるべきであるが、データ分析のためのデータ処理およびその他の特殊なツールが行いました。

1.3のHadoopコア・コンポーネント

時間が経つにつれて、より多くのHadoopエコシステム、図1-1は、Hadoopのコアコンポーネントを示しています。

 

図1:Hadoopのエコシステムを作るコアコンポーネント

図1-1の底から開始し、Hadoopのエコシステムの構成は次のとおりです。

HDFS -生態系のHadoopの重要な部分は、Hadoopの分散ファイルシステム(HDFS)です。HDFSはデータがコンピュータクラスタ上に保存され、分散データ保存メカニズムです。データは一度書かれ、何回も読まれます。HDFSは、HBaseのようなツールのための基礎を提供します。

MapReduceのメイン実装フレームワーク--Hadoop MapReduceは、それが分散、並列処理のプログラミング・モデルです。MapReduceのマップ(マップ)相へのタスクとreduce(簡素化)。開発者は、(高速ストレージ用)HDFSにデータを格納するために使用し、書かれたHadoopのMapReduceののタスクを実行します。作品のMapReduceの性質のために、Hadoopのデータへの高速アクセスを可能にする、並列にデータにアクセスすることができます。

Hbase-- HBaseのは、高速読み取りのためにHDFS、列指向のNoSQLデータベースの上に構築された/大量のデータを書き込みます。HBaseのは、飼育係が、すべてのコンポーネントが正常に機能していることを確認するために管理します。

ZooKeeperの  - Hadoopのは、サービスの連携のために分散します。コンポーネントの多くは、Hadoopの操作を管理するためのコンピュータクラスタ上で実行さ飼育係のHadoop、に依存しています。

Oozie --Oozieジョブ実行の複数を調整するためのスタックのHadoop、MapReduceの中に統合された、拡張されたオペレーティングシステムです。複雑なシステムは、外部のイベントデータとタイミングデータの出現などの外部イベントに基づいて実行され、管理することが可能です。

Pig--これは、抽象のMapReduceプログラミングの複雑さがあります。豚のプラットフォームは、ランタイム環境を備えており、Hadoopのデータ・セットのスクリプト言語(豚ラテン語)を分析します。そのコンパイラは豚ラテン語のMapReduceプログラムシーケンスに変換します。

ハイブ のHadoopに保存されている実行するクエリのSQLに似--Hiveハイレベル言語、MapReduceの開発者になじみのないハイブは、これらのステートメントは、上記のHadoopのMapReduceタスクに変換されたデータのクエリを、書くことができます。同様に、多くのおなじみのSQLの代わりに、Javaのプログラミングデータアナリストを集めて豚、抽象化レイヤツールとしてハイブ、などです。

Hadoopのエコシステムは、他の企業との統合のため、次のフレームワークが含まれています。

Sqoopは、接続は、リレーショナルデータベース、データウェアハウスとHadoopの間でデータを転送するための手段です。Sqoopは、データベース・スキーマ、データ/エクスポートを記載された技術を用いて導入し、MapReduceの動作およびフォールトトレランスを使用して並列化。

水路は、大規模なデータ転送、大量のデータやHDFSへの単一のコンピュータを要約し、収集するための分散、信頼性の高い効率的なサービスを提供しています。これは、単純かつ柔軟なアーキテクチャに基づいて、データフローのストリームを提供します。これは、Hadoopのに企業内の複数のコンピュータにデータを転送するためのシンプルかつスケーラブルなデータモデルを使用しています。

図1-1に示すコア部材に加えて、Hadoopのエコシステムは、以下のような更新およびコンポーネントを提供するために、成長しています。

Whirr-- whirrは、ユーザーが簡単にアマゾンEC2、Rackspaceのおよび他の仮想クラウドのためのHadoopクラスタ・コンピューティング・プラットフォームを実行できるように、クラウドサービスを実行するために使用されるJavaクラスライブラリのセットです。

Mahout-- Mahoutのは、機械学習とデータマイニングのライブラリである、それが提供するMapReduceはクラスタリングアルゴリズム、回帰テスト、統計的モデリングを含む多くの実装が含まれています。ApacheのHadoopのライブラリを使用することにより効果的にMahoutのクラウドに拡張することができます。

BIGTOP -  BIGTOP関連するコンポーネントおよびサブなどのHadoop、そしてフレームはパッケージングとテストの相互運用性のためのプログラムです。

Ambari - ØアンバースルーのHadoopの管理を簡素化し、Hadoopクラスタのサポートを設定、管理および監視します。

Hadoopのファミリーメンバーは徐々に増加しています。本書では、主に3つの新しいハッチのApache Hadoopのプロジェクトに関連します。

インキュベーター・プロジェクトは、プロジェクトApachを処理するために進化しました

以下は、簡単にはApache財団の操作だけでなく、お互いのApacheプロジェクトへのリンクを記述します。Apacheの個々のメンバーは、Apacheプロジェクト、成熟および回復を提供するために作成され、組織全体のガバナンスを共有しました。

新しいプロジェクトがで始まった「インキュベーター。」Apacheのインキュベーターの構築にApacheに参加する新しいプロジェクトを支援することです。Apacheは上映後、管理と検査を提供し、新しいプロジェクトまたはサブプロジェクトを作成します。あなたはインキュベーター・プロジェクトを作成した後、Apacheはプロジェクトの成熟度を評価し、Apacheプロジェクトまたはサブプロジェクトに「卒業」インキュベーター・プロジェクトを担当しています。インキュベーターは、様々な理由から、いくつかのプロジェクトのために終了します。

ます。http://incubator.apache.org/projects/index.htmlインキュベーター・プロジェクト(現在は、孵化成功、一時的に停止し、再資源化)、およびこのURL経由の完全なリストを参照してください。

上の今日のHadoopの本のほとんどは、またはのHadoopエコシステム内の個々のコンポーネントの説明に焦点を当て、またはどのように(例えば豚やハイブなど)のHadoopビジネス分析ツールを使用します。これらの側面も重要であるが、これらの本は通常、記述は建築家がHadoopのベースのエンタープライズアプリケーションや複雑なアプリケーションの構築を支援しないで、深さはありませんが。

推奨読書

40 +すべてここにビッグデータ開発[W]チュートリアルの年俸!

ビッグデータ技術のインベントリ

大規模なデータ配列を共有するためのトレーニングプログラマはシェルで説明します

ビッグデータチュートリアル:書き込みスパークとIDEAプログラムでSparkShell

ゼロベースのビッグデータクイックスタートチュートリアル

Javaの基礎コース

チュートリアルをWebベースのフロントエンド開発

おすすめ

転載: blog.csdn.net/chengxvsyu/article/details/92430871