注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Sparkアクセラレーションは、低レベルのハードウェア最適化を活用してSparkジョブのパフォーマンスを向上させる手法です。プラットフォーム固有の機能を使用することで、ネイティブアクセラレーションは大規模データワークロードの処理時間を大幅に短縮し、ジョブの実行速度を向上させ、リソースの利用効率を改善することができます。
Velox ↗ は再利用可能な高性能の低レベルデータ処理ライブラリであり、高性能データ処理システムを構築するための基本的な機能を提供します。これは、より高レベルなデータ処理システムを構築するための基盤として使用されることを目的としており、FoundryではSparkジョブを加速するために使用されます。
Foundryにおけるネイティブアクセラレーションの詳細を読む。
Sparkアクセラレーションは、既存のSparkパイプラインで使用できます。ロジックに変更を加える必要はありません。
Pythonトランスフォームパイプラインでネイティブアクセラレーションを使用するには、以下を完了する必要があります。
VELOX
バックエンドを有効にします。Copied!1 2 3 4 5 6 7 8 9 10 11 12
from transforms.api import configure, ComputeBackend, Input, Output, transform_df @configure( ["EXECUTOR_MEMORY_MEDIUM", "EXECUTOR_MEMORY_OFFHEAP_FRACTION_HIGH"], # メモリ設定 backend=ComputeBackend.VELOX) # バックエンドをVELOXに設定 @transform_df( Output('/Project/folder/output'), # 出力ディレクトリの指定 source_df=Input('/Project/folder/input'), # 入力データフレームの指定 ) def compute(source_df): ...
## Spark のメモリを設定する
ネイティブに加速された Spark プロジェクトを最適化するには、最初にオフヒープメモリ用の `EXECUTOR_MEMORY_OFFHEAP_FRACTION_HIGH` 設定を使用します。このメモリは JVM の外でいくつかのタスクを処理する Velox によって使用されます。パフォーマンスを観察し、必要に応じてオフヒープメモリを増減させます。
:::callout{neutral}
オフヒーププロファイルを使用するには、`EXECUTOR_MEMORY_X` プロファイルも設定する必要があります。ジョブにはすでにこれが設定されている可能性があります。
:::