2017-02-28 12 views
-1

私はスパークがパーティションごとにキャッシュして保持できることを知っています。ネットワークトラフィックを避けるためにノードごとにキャッシュを作成したい場合は可能ですか。Apacheはノードごとにキャッシュを起動できますか?

同様に処理されたすべての顧客IDが有効な場合は、参照整合性チェックの一種です。

答えて

0

はい、ブロードキャスト変数を使用して各ノードでデータをキャッシュできます。ブロードキャスト変数を使用すると、プログラマは、タスクのコピーを出荷するのではなく、各マシンにキャッシュされた読み取り専用変数を保持することができます。たとえば、すべてのノードに大量の入力データセットのコピーを効率的に与えるために使用できます。 Sparkはまた、効率的なブロードキャストアルゴリズムを使用してブロードキャスト変数を配布して通信コストを削減しようとしています。

broadcastVar = sc.broadcast([1, 2, 3]) 

放送変数の値は、パーティションに応じてデータをキャッシュしたい場合、あなたはそれが保存されますキャッシュ機能を使用する必要があります

SOURCE: SPARK PROGRAMMING GUIDE

+0

はい、意味がありますが、リスト全体ではなく、そのノードで必要なものをキャッシュすることも期待していました。たとえば、100のノードがある場合、各ノードはそのノードのパーティションデータに基づいてキャッシュを持ちます。 – Jagib

+0

キャッシュと永続メソッドもありますが、 –

0

値メソッドを呼び出すことによってアクセスすることができますローカルに呼び出されたRDDの出力を受信し、そのRDDに関する関連情報をメーターノードに送信する。

+0

残念ですが、マシン固有のデータをブロードキャストしたい – Jagib

関連する問題