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

Hadoopのを使用してエンタープライズ・アプリケーションを開発する1.5

ビッグデータをもたらし、新たな課題に対応するために、我々は、データ分析のプログラムを構築する方法を再考する必要があります。アプリケーション・プロセスを構築し、データベースに格納されている伝統的なデータは、もはや大規模なデータ処理に有効ではないだろう。主に起因します:

従来のアプリケーションベースのトランザクション処理データベース、このデータベースはもはやHadoopのサポートされません。

Hadoopの増加に格納されるデータの量は、唯一のクラスタの一部にデータへのリアルタイムアクセスをアクセスすることができます。

Hadoopの大容量データ記憶機能複数のデータセットのバージョンを格納することができ、それは伝統的な方法と同様、元のデータを上書きしません。

したがって、典型的なエンタープライズアプリケーションはHadoopの図1-2に基づきます。データ記憶層、データ処理層、リアルタイムのアクセスとセキュリティ層を含むこれらの用途では、。このアーキテクチャを実装するには、我々だけでなく、関連するAPIのHadoopコンポーネント、およびその機能と制約の役割、および全体的なアーキテクチャの各コンポーネントを理解する必要性を理解する必要があります。

1-2は、ソースデータ記憶層のデータと中間データを含んでいます。これらの外部データソースからのデータの主な情報源は、外部データソースは、エンタープライズ・アプリケーション、外部データベース、ログを含む、その他のデータソースを行います。リアルタイムにHadoopを使用しているアプリケーション、および他のアプリケーションやエンドユーザーに配信され、実行Hadoopのデータから中間結果。

 

図1-2:Hadoopのエンタープライズアプリケーション

異なるメカニズムがHadoopのソースにデータを転送するために使用されてもよい、前記Sqoop、水路を、HDFSは、直接ネットワーク・ファイル・システム(NFS)など、又はリアルタイムサービスとのHadoopのアプリケーションが搭載されています。HDFSでは、新しいデータが既存のデータを上書きしませんが、データの新バージョン。HDFSは「一回書き込み」ファイルシステムであるため、これは、重要です。

データ処理層のために、oozieは、ソースデータを前処理し、中間データに変換します。元データとは異なるが、中間データが上書きされ、誰もバージョンよりも、中間データの量は、偉大なことはないではないでしょう。

リアルタイムアクセス層のために、Hadoopのアプリケーションは、データへのリアルタイムのダイレクトアクセスの両方をサポートし、また、データセットに基づいてアクセスをサポートしています。アプリケーションは、中間のHadoopに基づいて、データ、およびHadoopの中に格納されたソースデータを読み出します。また、アプリケーションは、サービス利用者への、または他の企業のHadoopとの統合のために使用することができます。

データ、データの転送と統合するための中間データを格納し、処理するための予備データ・ソース。ソースデータと中間データの使用は、完全に別々の構造であるため、開発者は、ケースのすべてのトランザクション処理要求なしせ、仮想ビルド複雑なアプリケーションれます。前処理工程の途中で、大幅データサービスの量を減らし、リアルタイムのデータアクセスするように、より柔軟な。

Hadoopのスケーラビリティ

面で開発者のために、Hadoopのが根底にある複雑さを隠し、多くの記事が、。しかし、実際には、これらの記事は完全にHadoopのスケーラブル理解していません。

Hadoopの設計の実装することで、開発者は簡単かつシームレスにHadoopの実行に新しい機能を統合することができます。Hadoopのは、具体的のMapReduceの実装のさまざまな段階でのライブラリの数を担当するように指定します。このように、最低のコスト、最高のパフォーマンス性能のすべてのジョブを実行することを確認するために、具体的な質問を実行するために、開発者の要件を満たしています。

あなたは実行するには、次のHadoopをカスタマイズすることができます。

分割方法および実行場所を含むカスタム方法Hadoopの並列実装の問題、

新しいデータ型と位置決め入力のサポート

新しいデータ型出力のサポート

カスタムの場所の出力データ

他、カスタムメソッド、および実装の作業の結果に基づいて、本書の内容の一部は、具体的に説明しました。

これは、図1-2に示すすべての主要な層のHadoopエンタープライズアプリケーションをカバーしています。

第2章では、HDFSとHBaseの(建物およびAPI)を含むデータ、の層を構築する方法が記載されています。その後、2、そしてどのようにの比較分析は、HDFSとHBaseのを結合します。また、保存やデータへのアクセスにアブロ(Hadoopの新しいフレームワーク配列)、およびその役割について説明します。最後に、あなたはHCatalogを学びますし、どのような広告やデータへのアクセスのためにそれを使用します。

この本は、データ処理の多くが説明されているだろう。アプリケーションのデータ処理のために、我々は、使用のMapReduceとOozieをお勧めします。

この本では、コアになぜMapReduceのソース?

この本は、むしろ上記のMapReduceプログラミングが容易高レベルの言語を許可せず、MapReduceのソースに焦点を当てる、なぜあなたは尋ねるかもしれません。あなたは、オンラインまたはHadoopのコミュニティで、この点での議論の多くを見つけることができます。これらの議論に与えられる説明は、(コードのライン数の点で)のMapReduceのソースコードの量は、通常、はるか量ブタ源と同じ機能を提供するために、です。これは紛れもない事実であるが、他の要因がありますが。

すべてがハイレベル言語として記述することができません。一部のタスクは、より実行するために、伝統的なJavaコードを使用することが適しています。

あなたがコードを書くに一度行われるのみ必要がある場合には、コードの行数は、あなたにとって非常に重要であるかもしれません。エンタープライズ・アプリケーションを作成する場合は、あなたは、パフォーマンス、信頼性、セキュリティを含む他の基準を、検討すべきです。一般的に、MapReduceのソースは、簡単にこれらの資質を達成すること、より多くの方法を提供します。

モードによってカスタマイズもっとMapReduceは、さらにパフォーマンス、信頼性とセキュリティのアプリケーションを改善するために、ユーザに提供しています。

第3章では、MapReduceのアーキテクチャ、主要なコンポーネントおよびプログラミングモデルを学びます。この章では、MapReduceのアプリケーションの設計、デザインパターンとMapReduceの注意事項を説明しています。また、この章では、MapReduceのトークが達成されて実行する方法について説明します。上述したように、最強のMapReduceの一つは、それが実行カスタマイズすることができることを特徴とします。第4章では、カスタマイズオプション、および例の詳細をご紹介します。第5章では、信頼性のMapReduceアプリケーションを構築、例でのMapReduceのさらなる議論を示しています。

MapReduceの機能は非常に強力ですが、現実的な解決のために、一般的に一緒に複数のMapReduceアプリケーションのセットが必要ですが。このプロセスは、Hadoopのワークフローコーディネータ(ワークフロー/コーディネーター)エンジンを使用することによって、非常に複雑であり、非常/ MapReduceの統合アプリケーションを簡素化することができます。

Oozie値

OozieのHadoopは過小評価コンポーネントである可能性が最も高いです。少数の人々(あるいは全く)はHadoopの書籍では、この非常に重要な要素を議論します。この本は何ができるのかOozie実証するだけでなく、現実の問題を解決するためにOozie機能を使用する方法を示すためにポイントでケースをエンドツーエンドを提供するだけでなく。Hadoopのの残りの部分と同様に、Oozie機能はまた、良好なスケーラビリティを持っています。開発者は、異なる方法で機能Oozieを拡張することができます。

ビジネスプロセスの統合により、Hadoopの実行の残り:Hadoopのでは、最も簡単には挑戦を過小評価します。MapReduceアプリケーションの使用、およびパブリックOozieのAPIを経由して開示されたHadoopプロセスを調整するOozie。このように、あなたは簡単にHadoopの処理およびビジネスプロセス統合部へのより良い統合的なアプローチを見つけることができます。

第6章では、Oozieは主要コンポーネント、プログラミング言語および実行モデルのOozieアーキテクチャが何であるかを説明します。より良いOozieエンド・アプリケーションを使用して実用的な問題を解決するために、各コンポーネントOozieは、第7章の機能や役割を説明します。高度な機能の数による第8章では、OozieのOozie更なる説明を表示します。これらの高度な機能は、カスタムワークフロー活動のワークフローおよび動的に生成されたサポートスーパーJARファイル(パッケージとその依存関係のすべてを含むJARファイル)が含まれます。

第9章では、リアルタイムのアクセスレイヤについて説明します。この章では、リアルタイム・アプリケーション業界のHadoopの例を紹介し、その後、実施のための全体的な枠組みを提唱しました。リアルタイム問合せと処理フローに基づいて、ベースとHBaseのアプリケーション - 次に、それはこの実装を確立する3つの主な方法を紹介します。この章では、全体的なアーキテクチャについて説明し、HBaseのに基づいてリアルタイムアプリケーションの2つの例を提供します。その後、我々は2つの特定の実装--ApacheドリルとClouderaののインパラをリアルタイム問合せアーキテクチャを説明し、議論しました。また、リアルタイム問合せとMapReduceのコントラストを導入しました。最後に、あなたはHadoopのに基づいて、複合イベント処理と同様に、2つの特定の実施--StromとHFlameについて学習します。

エンタープライズアプリケーションの開発計画の多くを必要とし、情報セキュリティポリシー。第10章では、Hadoopのセキュリティモデルに焦点を当てます。

クラウド・コンピューティングの発展に伴い、多くの企業が、実行上のクラウドでのHadoopにしてみてください。Hadoopの機能を補完するために、(たとえば、S3など)他のAWSサービスを導入し、第11章の焦点は、Amazonのクラウド上でのHadoopアプリケーションを実行し、EMRのインプリメンテーションを使用していることです。また、この章では、クラウド上でのHadoopを実行し、ベストプラクティスを議論するためにさまざまな方法を使って、説明しています。

Hadoopの独自のセキュリティ上の問題に加えて、通常、インポートおよびエクスポートデータを達成するために、他の企業のHadoopコンポーネントと統合する必要があります。第12章では、Hadoopのエンタープライズアプリケーションを使用する人を保護する方法に焦点を当て、すべてのHadoopエンタープライズアプリケーションの安全な動作を確保するために例やセキュリティのベストプラクティスを提供しています。

1.6まとめ

この章では、ビッグデータとHadoopの高さとの関係を概説します。そして、ビッグデータとその価値を紹介するだけでなく、ビッグデータの企業がデータストレージおよび処理を含む課題に直面紹介しています。この章では、あなたはHadoopのとその歴史について学びました。

この章では、あなたはHadoopのとのHadoopの特徴について学んだ大規模なデータ処理のためになぜこれほど適して知っています。この章では、Hadoopのの主なコンポーネントの概要を提供し、Hadoopのは、科学的データのプロセスを簡素化するエンタープライズアプリケーションの作成を簡素化する方法を示すために使用されるいくつかの例を示します。

この章では、Hadoopのリリースの基本を紹介し、多くの企業は、特定のベンダーのリリースを選択する傾向が理由。彼らは互換性の問題Apacheプロジェクトに対処する必要はありませんか、彼らはベンダーの技術サポートを必要とするので。

高度の記事を読んでお勧めします

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

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

Javaの基礎コース

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

ビッグデータのエンジニアは、7の概念を理解する必要があります

クラウドコンピューティングの未来とビッグデータファイブ動向

すぐに大規模なデータの独自の知識を構築する方法

おすすめ

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