Hadoopのスパーク:フルコンクール(アーキテクチャ、性能、コストと安全性。

毎年、さまざまなデータ管理規模、分散システムのタイプと速度性能の様々な市場に表示されます。これらのシステムでは、Hadoopの火花は最も注目を集めるための2つです。しかし、どのようにあなたのために右であるかを判断するには?

バッチ・フロー・データにしたいとHDFSにインポートまたはストリーミングが合理的であるスパークを使用する場合は?あなたは、機械学習と予測モデリングしたい場合は、MahoutのかMLLibは、より良いあなたのニーズを満たすのだろうか?

混乱を高めるために、スパークとHadoopのは、多くの場合、ファイル・システムと一緒にHadoop HDFSスパーク処理データを位置働きます。しかし、彼らは各個人が自分の強みと弱みだけでなく、特定のビジネスケースがあり、独立した個人です。

いくつかの視点スパークとHadoopの比較からこの記事:アーキテクチャ、性能、コスト、安​​全性、および機械学習。

Hadoopのは何ですか?

Hadoopのスパーク:フルコンクール(アーキテクチャ、性能、コストと安全性。

Hadoopのは2006年に、Yahooのプロジェクトとなり、その後、大手Apacheのオープンソースプロジェクトになること。これは、複数の構成要素を有する、分散処理の一般的な形態です。

  • HDFS(分散ファイルシステム)が、それがHadoopのネイティブファイル形式格納され、クラスタ内で並列化されています。
  • YARN、スケジューラは、アプリケーションの実行時に調整します。
  • MapReduceの、並列にデータを処理するための実際のアルゴリズム。

Hadoopが終了(パイソン含む)スリフトコードをMapReduceの顧客を書き込むため、さまざまなプログラミング言語を介してアクセスすることができ、構築するためにJavaを使用しています。

これらの基本的な構成要素に加えて、Hadoopのは、前記します

  • HDFSにデータをリレーショナルますSqoop、。
  • ハイブ、ユーザーがHDFS上でクエリを実行することを可能にするようなSQLインターフェース。
  • Mahoutの、機械学習。

ファイルストレージHDFSの加算点を除いて、Hadoopのは、今入力AzureのブロブとしてバケツやS3を使用するように設定することができます。

それはまた、Clouderaの(サイズとHadoopの最大の供給業者の範囲)、MAPR又はHortonWorksメーカーによって提供することができる等、オープンソースのApacheを放出することができます。

スパークは何ですか?

Hadoopのスパーク:フルコンクール(アーキテクチャ、性能、コストと安全性。

スパークはもともとカリフォルニア大学バークレー校AMPLabで2012年に開発された比較的新しいプロジェクトです。また、グループ内のデータの一元並列処理に焦点を当てたトップレベルのApacheプロジェクトですが、最大の違いは、それがメモリ内で実行されることです。

HadoopのがHDFSにファイルを読み書き考えると、スパークの使用がRDDを参照し、データセットは、弾性分散データ処理コンセプトRAMです。スパークがスタンドアロンモードで動作することができ、データソースとして使用Hadoopクラスタは、Mesosで実行されてもよいです。後者の場合、Mesosマスタ局または親局糸スパークは、スケジューリングのために置換されています。

火花がスパークコアを中心に構築され、コア・スパークは、スケジューリング、および抽象的で正しいファイルシステム(HDFS、S3、RDBMのelasticsearchか)に接続され、スパーク最適化エンジンRDDを駆動させます。スパークSQLを含むスパークのコア上で実行されているいくつかのライブラリは、ありますが、SQLの実行を許可されているGraphXグラフィックの問題をMLLib機械学習のための同様の分散データセットにコマンドおよびストリーミングの連続的な流れを可能にするために、記録されたデータを送信します。

スパークは、いくつかのAPIがあります。元のインターフェースがデータ科学者の広範な使用に基づいて、Scalaで書かれてもPythonとRエンドポイントを追加しました。Javaはスパークジョブを書き込むための別のオプションです。

スパークに基づいてもスパークマテイ・ザハリアの創設者によって作成されたDatabricksは、データ統合、データパイプラインや他のタスクのためのクラウドサービスを提供することにコミットしています

1.アーキテクチャ

Hadoopのスパーク:フルコンクール(アーキテクチャ、性能、コストと安全性。
  • Hadoopの

まず、すべての着信HDFSファイルがブロックに分割されています。ブロックサイズおよび構成複製因子の、コピーを所定回数クラスタ全体の各ブロック。この情報は、クラスタ全体のすべての内容を把握し、名前ノードに渡されます。名前ノードは、いくつかのデータノードにこれらのファイルを割り当てて、ファイルに書き込まれます。2012年には、高可用性の実装では、ファイルのすべてのクラスタを追跡するために、バックアップノードに名前ノードのフェイルオーバーが可能になります。

HDFS、JobTracker組成物の上方に位置するMapReduceのアルゴリズム。一つの言語への適用後は、HadoopがJobTrackerを受け入れ、その後、他のを待機するために)HiveQL上のハイブの倉庫に保管されたクエリデータを実行するために、(ログファイルを任意のコンピューティングの単語が含まれており、クリーンアップもコンテンツ)の仕事を割り当てますTaskTrackerノード。

加速し、効率を改善するために自分のリソースを監視JobTracker YARN分布。その後のMapReduceとHDFSからの要約結果のすべての段階は、ディスクに書き込まれました。

  • スパーク

計算メモリ内で実行し、ユーザーが積極的に彼らに保存するまで、そこに格納されていることに加えて、Hadoopのスパークプロセスとの仕事は似ています。最初は、スパークはHDFS、S3、または確立機構にSparkContextという名前のファイルに保存されている他のファイルから読み込みます。また、スパークは、不変要素のコレクションを並列に動作させることができる表し弾性又はRDD分散データセットと呼ばれる構造を作成します。

RDDと関連する操作の作成と、スパークはまた、DAGまたは動作シーケンスと動作との間の関係を視覚化する有向非巡回グラフ、DAGを作成します。各DAGには、フェーズとステップがあります。このように、計画を説明するSQLに似ています。

コンバージョン、中間ステップまたは動作RDDの最終ステップを実行することができます。DAGに、指定した変換の結果は、しかし、ディスクを保持しませんが、結果は、ディスクへのメモリ操作ですべてのデータを維持します。

スパークは、それが中にスパーク2.0でRDDの開発を支援するインターフェースとして使用され、新たな抽象化がデータフレームです。どちらも、非常に似ていますが、データ編成のデータフレームは、PythonのパンダやRのパッケージのように、その順序を終えました。これは、RDDは、列レベルの見出し参照のない同様の一連のではありません、彼らよりユーザーフレンドリーRDDよります。SparkSQLは、ユーザーがクエリデータフレームとしてSQLテーブルなどのリレーショナル・データを格納することができます。

2.パフォーマンス

Hadoopのスパーク:フルコンクール(アーキテクチャ、性能、コストと安全性。

スパークは、磁気ディスク上に、メモリ100倍速い動作速度が10倍の高速化を発見しました。マシンの10分の1が、また、HadoopのMapReduceのより3倍速いデータ100 TBを、ソートするために使用することができます。スパーク速く特に、ナイーブベイズのような機械学習アプリケーション、およびk平均で見つかりました。

処理速度によって測定された火花が、Hadoopのより良いパフォーマンスことが判明している、次のような理由:

MapReduceのタスクの選択した部分を実行するたびに、スパークは、入力と出力の問題に拘束されることはありません。これは、それほど高速化アプリケーションが判明します

DAGは、ステップ間で最適化することができスパーク。調整の性能がそのレベルで発生していないことを意味する任意の周期接続せずにステップ間のHadoopのMapReduce。

しかし、スパークや他の共有サービスがYARN上で実行されている場合は、パフォーマンスが低下すると、メモリリークRAMのオーバーヘッドが発生することがあります。ユーザーは、ユースケースのバッチを持っている場合は、このような理由から、Hadoopのは、より効率的なシステムであると考えられています。

3.コスト

Hadoopのスパーク:フルコンクール(アーキテクチャ、性能、コストと安全性。

スパーク、オープンソースのApache Hadoopのは、あなたがゼロ設置費用にそれを実行することができることを意味自由のためのプロジェクトとして使用することができます。しかし、メンテナンス、ハードウェアとソフトウェアの購入や理解クラスタ管理チームを雇うなど、総所有コストを考慮することが重要です。スパークがスパーククラスタを設定すると、より高価かもしれ意味し、より多くのメモリを必要とするのHadoopの内部に設置されている一般的な経験則は、より多くのディスクメモリを必要とします。また、原因スパークに比較的新しいシステムであるため、その専門家は、より希少で高価な。別のオプションは、Hadoopのためのインストール納入業者、例えばClouderaのを使用するか、DataBricks用スパーク、またはAWSクラウドにおけるEMR / MapReduceのフローを実行することです。

Hadoopのスパークもスパーク実装EMR例の場合に実行するように構成された、直列で動作しているので、価格は、抽出された孤立を比較することができます。非常に高レベルの比較のために、あなたは米国時間あたり$ 0.026最小コストc4.large Hadoopの選択EMRクラスタインスタンス用に最適化された計算とします。$ 0.067最小のメモリ最適化クラスタ時給コストをスパーク。したがって、スパークは毎時より高価ですが、計算時間の最適化は、同様のタスクには、Sparkクラスタにはあまり時間を費やす必要があります。

4.セキュリティ

Hadoopのスパーク:フルコンクール(アーキテクチャ、性能、コストと安全性。

それは複数のノード間でデータを複製しようとしてHadoopが、耐障害性の高い学位を取得しています。各ファイルはブロックに分割し、単一のマシンのダウンタイムならば、他のファイルは、ブロック内の他の場所で再構築することができることを保証するために、多くのマシンで何度もコピーされます。

達成するために、主にRDD操作によってフォールトトレランスをスパーク。最初に、静的データはHadoopののフォールトトレラントアーキテクチャによって、HDFSに保存されています。RDDの設立により、血統は、あまりにも、必要性はゼロから再構築する場合には、データセットを構築する方法であり、それは不変ですので覚えておいてください。スパーククロスパーティションデータは、データ再構成を横切るDAGノードに基づくことができます。アクチュエータとドライバとの間のノードまたは通信が失敗した場合、アクチュエータ・ノード間のデータコピーは、データは、多くの場合、破損してもよいです。

スパークとのHadoopは、Kerberos認証をサポートすることができますが、HadoopがHDFSによりきめ細かいセキュリティ制御を持っています。ApacheのSentryは、プロジェクトがHDFSのために別のセキュリティレベルを設計された、きめの細かいメタデータアクセスを実行するために使用されるシステムです。

スパークのセキュリティモデルは、現在、小さいですが、共有鍵による認証を可能にします。

5.機械学習

Hadoopのスパーク:フルコンクール(アーキテクチャ、性能、コストと安全性。

Hadoopがデータを処理するためにMahoutのを使用しています。MapReduceの上で動作すべてが、クラスタリング、分類とバッチベースの協調フィルタリングなど、Mahoutの。Scalaは現在、DSLサポートされている言語輪廻をサポートするためにロールアウトしたメモリと、ユーザーは代数演算を実行することを可能にし、ユーザーが独自のアルゴリズムを記述することができますされています。

スパークは、メモリ、反復機械学習アプリケーションのために、ライブラリMLLib機械学習を持っています。これは、分類および回帰、および超パラメータ調整によって構築機械学習パイプライン機能など、Java(登録商標)、スカラ、パイソン、またはRのために使用することができます。

概要

Hadoopのスパーク:フルコンクール(アーキテクチャ、性能、コストと安全性。

だから、最後のHadoopや火花?彼らは、2つの分散システム現時点では市場で最も重要なデータを処理しています。

スパークがより柔軟な、しかしメモリ処理アーキテクチャの高いコストであるHadoopのは、主に、MapReduceのパラダイムを使用して大規模なディスクの操作に使用されます。どちらも、しばしば一緒に使用し、トップレベルのApacheプロジェクト、ある、との類似点がありますが、彼らが使用することを決定した際に、各プロジェクトの機能が非常に重要であることを理解します。

 

おすすめ

転載: www.cnblogs.com/CQqf2019/p/10965881.html