ビッグデータコース K9 - スパークチューニング方法

記事著者の電子メール: [email protected] 住所: 広東省恵州市

 ▲ この章のプログラム

⚪ Master Spark - シリアル化の実装が改善されました。

⚪ Master Spark - コードを通じて Kryo を使用します。

⚪ マスター Spark - 複数の一時ファイル ディレクトリを構成します。

⚪ Master Spark - 投機的実行メカニズムを有効にします。

⚪ Master Spark - コレクトの使用を避けてください。

⚪ マスター Spark - RDD 操作にはマップの代わりに MapPartitions を使用します。

⚪ マスター Spark - Spark 共有変数。

1. スパークチューニング - パート 1

1. シリアル化の実装の改善

Spark がシリアル化を使用する場所

1. シャッフル中に、オブジェクトを外部一時ファイルに書き込む必要があります。

2. 各パーティションのデータをワーカーに送信する必要がある Spark は、まず RDD をタスク オブジェクトにパッケージ化し、ネットワーク経由でタスクをワーカーに送信します。

3. RDD がメモリ + ハードディスクをサポートしている場合、ハードディスクへのデータの書き込みにはシリアル化も含まれます。

 デフォルトは Java シリアル化です。しかし、Java シリアル化には 2 つの問題があります。

1. パフォーマンスが比較的低く、

2. シリアル化されたバイナリ コンテンツの長さも比較的長いため、ネットワーク送信時間が長くなります。

業界は現在、  Java のシリアル化より 10 倍以上高速なkryoとして、より優れた実装を選択しています。また、生成されるコンテンツの長さも短いです。時間は速く、スペースは狭いので、それは当然の選択です。

方法 1:spark-defaults.conf 構成ファイルを変更します。

設定:

スパーク.シリアライザーorg.apache.spark.serializer.KryoSerializer 

注: スペースで区切ってください。

方法2:spark-shellまたはspark-submitの起動時に設定します。

--conf スパーク.シリアル

おすすめ

転載: blog.csdn.net/u013955758/article/details/132438261