[解決済み] ハウツー Pyspark データフレームの永続的な使用とリードバック
2022-02-12 08:17:30
質問
私はpysparkのかなりの初心者なのですが、以下のようなエラーが発生します。
Py4JJavaError: An error occurred while calling o517.showString.
で、それはメモリ不足が原因だと読んだことがあります。
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
そこで、この状況を好転させる方法として
df.persist()
を読み込んでから、再度
永続的な
dfなので、教えてほしいです。
-
与えられた
for
ループで、いくつかの.join
を使用する必要があります。.persist()
ループの内側か最後か?for col in columns: df_AA = df_AA.join(df_B, df_AA[col] == 'some_value', 'outer').persist() --> or <-- for col in columns: df_AA = df_AA.join(df_B, df_AA[col] == 'some_value', 'outer') df_AA.persist()
-
それができたら、どのように読み返せばいいのでしょうか?
df_AA.unpersist()
?sqlContext.read.some_thing(df_AA)
?
本当に初めてなので、出来るだけ説明をお願いします。
ローカルマシン(8GB RAM)で、jupyter-notebooks(anaconda); windows 7; java 8; python 3.7.1; pyspark v2.4.3 を使って実行しています。
解決方法は?
Sparkは遅延評価フレームワークであるため、どのフレームワークにおいても 変換 を呼び出すまで、結合は呼び出されません。 アクション .
だから、あなたがしたことを進めてください
from pyspark import StorageLevel
for col in columns:
df_AA = df_AA.join(df_B, df_AA[col] == 'some_value', 'outer')
df_AA.persist(StorageLevel.MEMORY_AND_DISK)
df_AA.show()
複数のpersistオプションが用意されているので メモリとディスク は、メモリ上で処理できないデータをDISKに流出させます。
また、GCエラーは、Sparkアプリケーションを実行するために提供されるDRIVERメモリが少ない結果である可能性があります。
関連
-
Python関数の高度な応用を解説
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] 割り当て後にリストが予期せず変更されました。その理由と防止策を教えてください。
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] Pandas DataFrameの特定の列の値がNaNである行を削除する方法
-
[解決済み] PandasのデータフレームをSQLのように'in'と'not in'でフィルタリングする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
Python jiabaライブラリの使用方法について説明
-
Pythonによるjieba分割ライブラリ
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
python implement mysql add delete check change サンプルコード
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Python LeNetネットワークの説明とpytorchでの実装
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?