1

スタンドアローン モードでスパーク ジョブ サーバー ( https://github.com/spark-jobserver/spark-jobserver/tree/jobserver-0.6.2-spark-1.6.1を参照) をセットアップしました。

使用するデフォルトのコンテキストを作成しました。現在、私はこのコンテキストで2種類の仕事をしています:

  • 別のサーバーとの同期:
    • 他のサーバーのデータベースからデータをダンプします。
    • いくつかの結合を実行し、データを削減して、新しい DF を生成します。
    • 取得した DF を寄木細工のファイルに保存します。
    • この寄木細工のファイルを一時テーブルとして読み込み、キャッシュします。
  • クエリ: キャッシュされたテーブルで SQL クエリを実行します。

私が保持する唯一のオブジェクトは、キャッシュされる最終テーブルです。

私が得られないのは、同期を実行すると、割り当てられたすべてのメモリが使用され、決して解放されない理由ですが、寄木細工のファイルを直接ロードすると (以前に生成された寄木細工のファイルを使用して、サーバーを新たに起動します)、メモリの一部のみが使用されます。

何か足りない?未使用のメモリを解放する方法はありますか?

ありがとうございました

4

1 に答える 1

1

キャッシュされたテーブルの永続化を解除することで、メモリを解放できます。yourTable.unpersist()

于 2016-12-15T14:51:07.533 に答える