2017-08-07 6 views
0

Sparkがデータを取り込んだとき、データがドライバに取り込まれて作業者に送られたのか、Sparkがノードにファイルシステムからデータを読み込ませるように指示するのだろうか?スパーク読み取り時ファイルシステムからはドライバに移動しますか?

私は、スパークストリーミングでは、カフカソースを使って、明らかに、ワーカーノードがカフカから読むことを知っています。しかし、ファイルシステムから読み込むとき、私はそれが実際にどのように動作するかは不明です。

ケース1

A - ファイルシステムはHDFS

A.1であると仮定すると、ファイルシステムからの読み取り時 - ドライバがファイルを読み取り、ワーカー にデータを転送していまたは作業員にファイルを読み取らせますか?

A.2 - 元のパーティションはHDFSのパーティションによって決定されますか?

ケース2

B - ファイルシステムからどこのファイルシステムがローカルである場合には1またはS3

B.1 - ないパーティションに起こる、我々天気をアルゴリズムの変更を何HDFSから読み込むか、ローカルファイルシステムから読み込みますか? (後者の場合には、特別なアルゴリズムがHDFSのパーティションに頼るに代わりに使用される B.2は? - 労働者はデータがまだ分割されていなくてもカントー、データの読み込みに参加してい

場合は?誰かが参考になること、それを明確にするために少しを助けることができるのおかげ

答えて

1

ファイルソースの場合、driver programのみ、ファイルのメタデータを読み取る

ドライバは、ファイルのメタデータを調べます - 。。何 をチェックし、それが存在することを確認してくださいファイルがディレクトリの場合はそのディレクトリにありますディレクトリのサイズを確認してください。 次に、ファイル の内容を実際に読み取っている作業者に作業を送信します。通信は本質的に「あなたはこのファイルをこのオフセットから開始する をこの長さ分読みます。」

関連する問題