スパークノート1

スパークの研究ノート1

プラットフォームのバージョンに関する実験環境と実験棟:java8、python2.7、scala2.11.8、hadoop2.7.3、spark2.4.4

学びます

基本コンセプト

スパークは、Hadoopのに似UCバークレー校AMPラボの開発を、コンピューティングクラスタのためのフレームワークですが、違いがたくさんあります。最大の最適化は、中間結果のコンピューティングタスクがメモリに保存することができ、常にHDFSを書くために、反復のMapReduceアルゴリズムシーンを必要とするより多くのアプリケーションを必要としない、あなたはより良いパフォーマンスを得ることができるようにすることです。例えば、ソートデータの100TBまで、テストを注文すると、3倍の速さのHadoopよりもスパーク、および機械の10分の1が必要です。最大のクラスタノードが8000に達することができるスパーク、PBのレベルまでの処理データは、インターネット企業が広く使用されています。
コアのHadoopは、分散ファイルシステム、HDFSおよび計算フレームワークMapReducesあります。スパークは、MapReduceのを交換し、良好なHadoopのエコシステムに、HDFS、ハイブ他の分散ストレージ層と互換性があることができます。
スパーク実行特性
中間結果出力:スパーク抽象ワークフロー実行一般的な非循環有向グラフの実行計画(DAG)は、ステージは、複数のタスクが並列または直列に実行されることができます。
データ形式とメモリレイアウト:RDD蓄積された弾性分散データセットのスパーク抽象分散メモリ構造は、データがパーティションの異なるノードに制御することができ、ユーザは、分割戦略をカスタマイズすることができます。
オーバーヘッドのタスクスケジューリング:スパークは、タスクを開始するには、システムの起動を回避し、スレッドプールのスレッドを多重化することにより、オーバーヘッドを切り替えるイベント駆動型ライブラリアッカを使用しています。
利点スパーク
100倍高速ワークロードを実行し、スピードを。、最も先進的なスケジューラ、クエリオプティマイザと実行エンジンの物理学を使用してApacheスパークDAGは、高パフォーマンスのバッチ処理やデータストリーミングを実現しています。
使いやすく、サポートは、Java、Scalaの、パイソン、R、およびSQLで高速なアプリケーションを作成します。スパーク提供80以上の事業者は、簡単に並列アプリケーションを構築することができます。あなたは、対話的にスカラ座やPython、RおよびSQLシェルからそれを使用することができます。
SQL、ストリーミング、複雑な分析と組み合わせ普遍性、。スパークは、機械学習、GraphXとスパークの流れのためのSQLとデータフレームを含むライブラリの数、MLlibを提供します。あなたはシームレスに同じアプリケーション内でこれらのライブラリを組み合わせることができます。
さまざまな環境では、Hadoopのは、Apache Mesos、Kubernetes、スタンドアローンまたはクラウドホストを実行しているスパークを実行することができます。これは、さまざまなデータソースにアクセスすることができます。あなたはそれEC2、HadoopのYARN、MesosまたはKubernetes上のスタンドアロンモードスパーククラスタを使用することができます。アクセス、およびデータHDFS、アパッチカサンドラは、Apache HBaseのApacheのハイブの他のデータソースの数百人。
BDASスパーク生態系
現在は、スパークは、大規模なデータへと発展しているが、プラットフォームコンピューティングの多くのサブプロジェクトが含まれています。BDAS分析はバークレーによって提案されたデータスパーク・スタック(BDAS)に基づいています。コアフレームワークスパーク、コンピューティングフレームワーク図GraphX平行、ライブラリMLlib学習基礎となる機械学習システムおよび分散機MLBaseを提供するために、データクエリエンジンスパークSQLのSQLクエリと分析の支持構造体を覆っては、フレームワークスパークストリーミングを計算する流れ近似クエリエンジンBlinkDB、メモリ、分散ファイルシステムタキオン、リソース管理フレームワークMesosと他のサブプロジェクト。これらのサブプロジェクトは、上部スパークにおけるより高いレベル、より豊かなコンピューティング・パラダイムを提供します。

名詞を学びます

  • HDFS:Hadoopの分散ファイルシステム
  • MapReduce:大並列処理、フレームおよびプラットフォームのための計算モデル
  • MapReduceのアルゴリズムは、反復が必要です減らし、マップはデータのリストとして理解することができる平均低減され、ここで私は、特徴抽出のリストを地図データは、最後の定期的なデータに分類されているとして、我々は理解することができると思います。
  • RDD:データセット分散弾性式

オペレーティング

  • スパークシェル
    とシェルコマンドライン入力Pythonはほとんどのpythonをポップアップ、この火花シェルは、Scalaの言語で

    ファイル/作成などRDDオブジェクト/プロトコルを使用して、行file.countの数()RDDファイルを取得し、ファイル1次回()最初の行の内容を取得し

    、TCPの両方を含む行の数を取得し、2つの文字列をUDPするためには、

    オペレータにこれを言う、私はただのMapReduce把握しませんでした、まだ理解していないカウント単語を使用しています。
    二つの空間の間で分割空間が単語であるとして、現在、おそらく手段を推測して、RDDはWORDCOUNTオブジェクト生成、行の数は、その単語の数であります
  • Pysparkの
    sparkshellスパークのいずれかを操作することにより、パイソンの等価

    一時的な概念を把握ません

    MapReduceの


ベッド、学習継続する明日

おすすめ

転載: www.cnblogs.com/ltl0501/p/12099459.html