私のロジックは以下の通りです。スパークストリーミングのセットアップに関する質問
createDirectStreamを使用して、カフカのログタイプでトピックを取得します。
再パーティションの後、ログはさまざまな処理によって処理されます。
ログタイプごとにcombineByKeyを使用して単一の文字列を作成します(StringBuilderを使用)。
最後に、ログタイプでHDFSに保存します。
は、文字列を追加する操作がたくさんありますので、GCが頻繁に起こります。
この状況でGCを設定する方がよいでしょうか?
//////////////////////
は、さまざまなロジックがありますが、私はcombineByKeyを行うに問題があると思います。
rdd.combineByKey[StringBuilder](
(s: String) => new StringBuilder(s),
(sb: StringBuilder, s: String) => sb.append(s),
(sb1: StringBuilder, sb2: StringBuilder) => sb1.append(sb2)
).mapValues(_.toString)