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