2017-11-08 1 views
0

私は、リモート上のデータにアクセスし、(pyspark libraryを使用して)リモートスパークスタンドアロンクラスタ内で処理を行い、クライアント側で(python 2.7 kernelを使用して)Jupyterノートブックを展開しています。私はクライアントモードにスパーククラスタを展開しています。 クライアントマシンには、Sparkワーカーノードがありません。RDDまたはSpark SQLデータフレームは、Spark 2.1スタンドアロンクラスタ上でクライアント展開モードで保存または永続化されますか?

クライアントに十分なメモリ(RAM)がありません。私は、クライアントマシンのdf.count()のようなデータフレーム上でSparkアクション操作を実行すると、はデータフレームがクライアントのRAMに保存されるのか、それともSparkワーカーのメモリに保存されるのかを知りたかったのですか?

答えて

0

私が正しく理解すれば、あなたはクライアント側で何を得るかはintです。少なくとも正しく設定する必要があります。だから答えはいいえ、DFはあなたのローカルRAMを打つつもりはありません。
SparkSession(以前のバージョンのSparkContext)を使用してクラスタと対話しています。あなたが-i.eを開発していても。クライアントマシン上でコードを書くこと、実際のスパーク操作を計算すること。実行中のpysparkコードはローカルマシンでは実行されません。

+0

クライアントマシンに保存されるデータの量を知ることはできますか?クライアントマシンにデータが保存されないようにするには? –

+0

@SangramGaikwad「保存済み」とはどういう意味ですか? df.count()を使用しても何も保存されません。 –

+0

df.count()は単なる例です。 RDDマッピングや列選択などの操作がある場合はどうなりますか。データフレーム上のデータはどこに存在しますか? –

関連する問題