2017-11-20 9 views
0

私は、YARNによってメモリ制限を超えるために殺されたコンテナを頻繁に扱っています。私はそれが非効率的な方法でキャッシュ/ unpersisting RDDS/Dataframesと関係があると思う。キャッシュ内の特定のRDDのサイズを調べるにはどうすればよいですか?

このタイプの問題をデバッグする最も良い方法は何ですか?

私はSpark Web UIの「Storage」タブを見ましたが、「RDD名」は「MapPartitionsRDD」または「UnionRDD」よりも説明的なものにはなりません。どの特定のRDDがキャッシュ内の最大のスペースを占めるかをどのように把握するのですか?

メモリ不足のエラーを理解するために、どのRDDがキャッシュ内で最大のスペースを占めているかを把握する必要があります。私はまた、彼らがいつまでも飽きてくるのを追跡できるようにしたい。 catalog裏打ちされたテーブルの場合

val rdd: RDD[T] = ??? 
rdd.setName("foo") 
  • setNameメソッドを使用してRDDsあなたが設定できる意味のある名前については

  • 答えて

    1
    • val df: DataFrame = ??? 
      df.createOrReplaceTempView("foo") 
      spark.catalog.cacheTable("foo") 
      

      カタログの名前が両方のUIに反映されますおよびSparkContext.getPersistentRDD

    • 私はスタンドアロンDatasetsのために働く解決策を知らない。

    +0

    ありがとうございます! RDDが固定されていない時を把握する良い方法はありますか?または、基本的にページをリフレッシュする必要がありますか? –

    関連する問題