[CDN +]スパークエントリ学習プロセスと実行

序文

すでに述べたMapReduceの計算モデルとスパークは密接に関連しているように、その後、スパークの場所の相対的な利点、大規模なデータそれに適した生態何?

 

スパークコントラストのMapReduce、ハイブエンジン、嵐フロー計算エンジン

1. もしもっと1T基本的なデータよりも火花を使用することができない、またはのMapReduceを選択します、本当に大量のデータを扱うコンピューティング並列に高いディスクI / O操作のMapReduceの使用を交換することはできませんが、それは、反復計算における不十分なパフォーマンスです。データが大きすぎる場合(OOMメモリ不足などのプログラムをスパーク、上では動作しませんし、データが比較的MapReduceのが非常に遅い実行しているスパークされている場合でも、直接ハングするエラーは、これは、非常にピットの父ですが、少なくとも、彼はゆっくりすることができますランニングは、その後、少なくとも遅いフィニッシュ?それはないです。

2. ストームプロセスストリームのリアルタイムの計算は置換されていない(ストームサポートが動作中演算プログラムストリーム(トポロジ)を分散、動的それによってながら動的並行処理を向上させる、並列度を調整することができるスパークストリーミング動的並列処理のために調整されていません。もちろん嵐が持っていないという利点を有するストリーミングスパーク、

最初のスパークストリーミングのでそう倍あるいは10倍の一定数を有する単一のデータに基づく処理ストームを行うと比較し、バッチ処理に基づいています。

またスパーク体がスパーク生態円形であるため、またストリーミング、したがってストリーミングスパークコア、スパークSQLスパーク、あるいはMLlib、スパークGraphXシームレスな統合をスパークできます。[ビジネス・シナリオの言葉:そのような場合のように、通常、特に高いリアルタイム要件、およびリアルタイムの不安定性のデータ量は、一日のピーク期間を持って、あなたは嵐を使用するように選択することができます。しかし、それはストリーミングスパークを使用して1秒の準リアルタイム処理を可能にし、一般的にはリアルタイム要件である場合。使用データクレンジング時の嵐]。

3. 大規模なデータクエリ、ハイブ確かにかけがえのないハイブは、HDFSに基づいて、データウェアハウスで、基礎を提供するため、(多くの人がスパークSQLを完全にハイブクエリエンジンを交換することができると思うが、私は、それは確かに仕事をしないと思いますインタラクティブに分散クエリエンジンを照会する大規模なデータを格納するためのデータウェアハウス用SQLモデル、スパークSQLは、まだサポートされていない、高度な機能の数が少ないハイブサポートがある。もちろん、ハイブスパークSQLクエリエンジンに比べて、ハイブ、JSON、寄木細工、JDBC、等)を含むデータソース、多種多様をサポートすることである:高速で、根本的な理由は、ハイブへのハイブベースのMapReduce、スパークSQLに対しては別の利点を有するためです。

スパークの利点および特徴

1.効率

100倍速く実行します。

Apacheのスパーク最も先進的なDAG(有向非巡回グラフ)スケジューラ、クエリオプティマイザと実行エンジン、物理学、高性能なバッチおよびデータストリーミング。

次のように図DAGのプロセスは、次のとおりです。 

A DAGの頂点と辺の集合の組み合わせです。RDDの代わりに一連の動作ながら頂点は、RDD(弾性分散弾性分散データセット抽象データセット)を表します。

RDD、異なるステージにDAGに基づいて、DAGスケジューラ変換動作は、各ステージがタスクを複数に分割し、タスクを並列に実行することができます。

問題:パラレルサブ一連のタスクに各タスク、および誘導をシャッフル最終段階の作業に参加するために、これは非常に効率的であること分散思考

 

使いやすさ2.

スパークは、Java、PythonとScalaのAPIをサポートし、また、ユーザーが迅速に異なるアプリケーションを構築することを可能にする高度なアルゴリズムの80種類以上をサポートしています。火花がサポートする対話型のPythonとScalaのシェルは、問題を解決するために、これらの方法を検証するためにスパーククラスタシェルを使用することは非常に簡単にすることができます。

たとえば、Javaのスクリプトは、SparkデモScalaのテストクラスを呼び出します。

//编写スカラ测试类
オブジェクトのMyTest { DEFメイン(引数:配列[文字列]):単位
= { ヴァルCONF = 新しいSparkConf() conf.setAppName( "のMyTest" conf.setMaster( "ローカル" ヴァルSC = 新しいですSparkContext(CONF) valを入力 = sc.textFile( "ファイル:/// F:/sparktest/catalina.out" valの数 = input.filter(_( "java.lang.NullPointerExceptionが"が含まれています。))カウントされます。 システムを.out.println( "空指针异常数" + カウント) sc.stop() } }
パブリック クラスSubmitScalaJobToSpark {
     公共 静的 ボイドメイン(文字列[]引数){ 
        文字列[] arg0に = 新しい新しい文字列[] {
                 "--master"、 "スパーク:// node101:7077"  "--deploy-MODE"、 "クライアント「」ジョブをサブミット『スパークする--name「」テストジャワ』 --classを「」MyTestに「// 指定されたスパークミッションのような機能を実行する 
                『--executor-メモリ』、」1G」、/ / メモリ不足 
                「E:\\ \\アーティファクトアウト他のコードリポジトリ\\火花\\ \\名前 \\ unnamed.jar」、// JARパッケージパス
        }。
 
 
        SparkSubmit.main(arg0に)。
    } 
}

Pythonのは、Sparkのデータ型を呼び出します。

 

 3. 通用性

スパークは、統一されたソリューションを提供します。スパークは、バッチで使用することができ、インタラクティブクエリ(スパークSQL)、リアルタイムのストリーム処理(スパークがストリーミング)、機械学習(スパークMLlib)と計算(GraphX)。処理のこれらの異なるタイプは、シームレス同じアプリケーションで使用することができます。非常に魅力的なスパーク統一ソリューションは、すべての後に、企業が開発と保守人件費や材料費と展開プラットフォームを軽減する統合プラットフォームで発生した問題に対処したいと思います。

 

 4.互換性

スパークは、非常に簡単に他のオープンソース製品と統合することができます。例えば、スパークとその資源管理やスケジューリングなどのHadoop YARNのApache Mesosの使用、およびHDFS、HBaseのカサンドラ、などを含むすべてのサポートされているデータのHadoopを、処理することができます。あなたはスパークの強力な処理能力を使用することができます任意のデータの移行を必要としないため、ユーザーはすでに、Hadoopのクラスタを展開するために、これは特に重要です。スパークはさらに、誰もが簡単に展開できることをスパークの使用及び使用スパークのためのしきい値を減少させ、その内蔵などのリソース管理とスケジューリングフレームワークスタンドアロンを実装して、サードパーティのリソースマネージャやスケジューラ、に依存しない場合があります。また、スパークは、EC2上のツールスパーククラスタスタンドアロンの展開を提供します。

 

Mesos:Mesosはスパーク(リソーススケジューリングフレームワークのMesos同様の糸)内で実行することができます

スタンドアロン自分自身にリソースを割り当てることができスパーク(マスター、労働者)

YARN:スパークの上糸を実行します

 Kubernetes:スパークは、受信  Kubernetesのリソーススケジューリングを

 

プロセススパークの構成及び動作

スパーク組成物(BDAS):フルネームバークレーは、大規模集積化アルゴリズム、マシン間でのデータ・スタックを解析し、人々がビッグデータアプリケーションのためのプラットフォームを示しています。これは、大規模なデータ、クラウドコンピューティング、通信技術ソリューションです。

その主なコンポーネントは次のとおりです。

SparkCore:柔軟なタスク・スケジューリング・アプリケーション、RPC、圧縮シーケンスを達成するために、データを抽象データセット(RDD)を分散、分散、およびアセンブリの上層に動作するAPIを提供します。

SparkSQL:スパークスパークは私がデータの道を照会するためにSQL文を使用することを可能にするSQL構造化データパッケージを操作し、スパークはハイブテーブル、その上parquestやJSONなど、さまざまなデータソースをサポートしています。

SparkStreaming:スパークは、計算コンポーネントによって提供されるリアルタイム・データ・ストリームです。

MLlib:ライブラリが実現するアルゴリズムを学ぶ一般的に使用される機械を提供します。

GraphX:図は、計算が効率的に行うことができ、分散コンピューティングフレームワークを提供します。

BlinkDB:おおよその大容量データのクエリエンジンでのインタラクティブなSQLのため。

タキオン:メモリー中心の高フォールトトレラント分散ファイルシステムを持ちます。

実行中のプロセス:

  (1)スパークアプリケーション・ランタイム環境の構築(運転開始)エグゼキュータリソースの登録および操作のための、リソース・マネージャにドライバ(スタンドアロン、Mesos又はヤーンであることができる)アプリケーション。

  (2)リソースマネージャとリソース割り当てがエグゼキュータStandaloneExecutorBackendを開始し、エグゼキュータの動作は、心臓のようにリソースマネージャに送信されます。

  (3)ドライバ図段階にDAG、DAGグラフを構築し、そしてタスクセットタスクスケジューラに送信します。SparkContextを適用するには、タスクエグゼキュータ

  (4)タスクスケジューラはエグゼキュータに発行したタスクエグゼキュータランドライバアプリケーションコードに分配。

  (5)タスクエグゼキュータで実行されている、すべてのリソースのリリースを実行して終了しました。

 

使用のスパーク

大きなデータ・エコシステム内の優れた分散データ解析エンジンは、回動位置を有するように、それらの優れたコンピューティング性能のスパークは、広くクラウドコンピューティングとビッグデータ業界で使用される、それが機能します。
Yahooは予測とアドホッククエリなどをクリックし、スパークアプリケーションオーディエンス拡張を使用します。
淘宝網の技術チームは、Spark複数の反復、アルゴリズムの高い計算上の複雑さなどを解決するためのアルゴリズムを機械学習を使用しています。勧告は、コンテンツに適用され、コミュニティの発見
テンセント大規模データの精度は、「リアルタイムのデータ収集、リアルタイムのトレーニングアルゴリズム、リアルタイム予測システム、」高次元のリアルタイム並列アルゴリズムの全体のプロセスで実現スパーク急速反復恩恵によって推奨され、最終的には成功したワイドに適用します送達システムを介して推定クリック率ポイント。
Youkuのジャガイモは、計算の繰り返しを描く、Sparkビデオ推薦(図・コンピューティング)、広告、機械学習の主な成果に適用されます。

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/Ronaldo-HD/p/11842170.html