タスク > マッピングタスク > Sparkセッションプロパティ
  

Sparkセッションプロパティ

詳細モードのマッピングに基づくマッピングタスクを作成する場合、オプションのSparkセッションプロパティを設定できます。
Sparkセッションプロパティのデフォルト値は、ベストプラクティスと組織内のマッピングタスクの平均的な計算要件に基づいて設定します。デフォルト値が特定のマッピングタスクの要件に合わない場合、デフォルト値を上書きしてプロパティを再設定します。
マッピングタスクに最適な一連のSparkセッションプロパティを特定する方法は、CLAIREチューニングを参照してください。
以下の表に、Sparkセッションプロパティを示します。
Sparkセッションプロパティ
説明
infaspark.sql.forcePersist
読み取り操作の繰り返しを避けるために、データをメモリに保持するかどうかを示します。例えば、ルータートランスフォーメーションを使用すると、出力グループでの読み取り操作の繰り返しを回避できます。
デフォルトはfalseです。
spark.driver.extraJavaOptions
Sparkドライバプロセス用の追加のJVMオプション。
デフォルトは-Djava.security.egd=file:/dev/./urandom -XX:MaxMetaspaceSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=500です。
spark.driver.maxResultSize
各Sparkアクション用のすべてのパーティションのシリアル化された結果の最大合計サイズ。
デフォルトは4Gです。
spark.driver.memory
Sparkドライバプロセス用のメモリの量。
デフォルトは4Gです。
spark.dynamicAllocation.maxExecutors
動的割り当てが有効な場合のSparkエグゼキュータの最大数。
デフォルトは1000です。値は自動的に計算されます。
spark.executor.cores
各Sparkエグゼキュータを実行するコア数。
デフォルトは2です。
spark.executor.extraJavaOptions
Sparkエグゼキュータの追加のJVMオプション。
デフォルトは-Djava.security.egd=file:/dev/./urandom -XX:MaxMetaspaceSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=500です。
spark.executor.memory
各Sparkエグゼキュータのメモリの量。
デフォルトは6Gです。
spark.memory.fraction
Sparkエンジンに割り当てるヒープの割合。1に設定すると、Sparkエンジンは、予約された300 MBのメモリを除くヒープ領域全体を使用します。
デフォルトは0.6です。
spark.memory.storageFraction
データの処理に対して、Sparkエンジンがストレージに使用するメモリの割合。
デフォルトは0.5です。
spark.rdd.compress
シリアル化されたRDDパーティションを圧縮するかどうかを示します。
デフォルトはfalseです。
spark.reducer.maxSizeInFlight
データのシャッフル中に各削減タスクがマッピングタスクから受信できるデータの最大サイズ。このサイズは、シャッフルされたデータ用の十分なメモリを削減タスクに確保するためのネットワークバッファを表します。
デフォルトは48Mです。
spark.shuffle.file.buffer
それぞれのマッピングタスクで中間シャッフル出力を書き込むために使用するメモリ内バッファのサイズ。
デフォルトは32Kです。
spark.sql.autoBroadcastJoinThreshold
ブロードキャスト結合を使用するためのバイト単位のしきい値。Sparkエンジンがブロードキャスト結合を使用している場合、Sparkドライバは詳細クラスタで実行されているSparkエグゼキュータにデータを送信するため、シャッフルが回避され、パフォーマンスが向上します。
マッピングタスクがカラム形式や区切りファイルを処理する場合など、状況によっては、ブロードキャスト結合によってSparkドライバレベルでメモリの問題が発生する可能性があります。この問題を解決するには、ブロードキャスト参加のしきい値を10 MBに減らすか、Sparkドライバのメモリを増やすか、ブロードキャスト参加を無効にしてみてください。
デフォルトは256000000です。ブロードキャスト結合を無効にするには、値を-1に設定します。
spark.sql.broadcastTimeout
ブロードキャスト結合中に使用される秒単位のタイムアウト。
デフォルトは300です。
spark.sql.shuffle.partitions
データをシャッフルして結合または集計を処理するためにSparkが使用するパーティション数。
デフォルトは100です。
spark.custom.property
カスタムSparkセッションプロパティを設定します。カスタムプロパティを区切るには、&:を使用します。