2016-08-18 5 views
1

初心者のための非常に興味深いApacheのスパークアーキテクチャガイドをざっと歩いこのtutorialに示すように、私は私の理解RDDで スパーク - スパークRDDは論理的な命令の集合ですか?

  1. が論理的である、以下のようにスパークにRDD処理に関するクエリのカップルに出くわしました物理的なデータセット(遅延実行)上で実行される命令の集合。私の理解は正しいのですか?またはメモリ内の物理的なデータセットですか?
  2. hdfsに格納された20 GBのファイルをsparkアプリケーションで処理します。このファイルは、保管のためにhadoopクラスタに分散されます。したがって、データノードAが3ブロックの合計サイズ192 MBを保持している場合、この3ブロックはdataNode Aの同じエグゼキュータで実行されるか、またはエグゼクティブコンセプトのブロックがありますか?

  3. 実行プログラムは、hdfsブロックからデータをロードする責任がありますか?

上記の概念を理解する上での助けとなります。ありがとう。

答えて

0

1)rddにはrdd変換の結果である祖先のグラフが含まれています。これは、アクションがそれを必要とする(ストレージへの書き込みや最終的な値の計算など)まで評価されません。しかし、rddはメモリ、メモリ、ディスクなどのさまざまなストレージレベルで永続化することができます。 このようなrddが評価されると、それも永続化されます(永続化も遅延であることに注意してください)。 また、論理レベルと実際の実行レベルには違いがあります。論理変換(狭いもの)を一緒に実行すると、実行レベルで分離できなくなります。

2)ブロックをエグゼキュータに割り当てるロジックがあります。データの近接性が重視されますが、マシンがビジー状態にある場合、フリースロットを持つ別のマシンではブロックが発生することがあります。

3)正確にはわかりませんが、デプロイメントに応じてエグゼキュータによってタスクの実行が割り当てられ、監視されるドライバがあります。実行者は、タスクが割り当てられると、必要なデータを収集します。

+0

ありがとうございました。私は3番目の質問を編集しました。しかし、私はエグゼクティブが必要なデータを収集するにつれてあなたの返事にも答えてくれたと思います。:)私の理解は正しいのですか? –

+0

はい、それがあなたを助けたら答えを受け入れてください! –

+0

ありがとうHarel。それは私を助けた.. .. –