注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
軽量トランスフォームは、Pythonデータ処理パイプラインを実行するための新しいバックエンドを表しており、既に馴染みのあるトランスフォームAPIのほとんどを使用できます。
個々のコンピュータがよりパワフルになるにつれて、データ変換の数が増えて単一ノードで実行できるようになります。これは、小規模から中規模のデータセットの場合、分散並列処理に依存せずに変換を実行できることを意味します。このアプローチは、Sparkエグゼキュータの分散オーケストレーションに関連するオーバーヘッドを減らし、データパイプラインの作成のための単一ノード代替手段、例えば Polars ↗ や DuckDB ↗ の使用を可能にします。
軽量トランスフォームの機能を拡張し続けるにつれて、最新の機能を常に利用できるように、リポジトリをバージョン5.400.0またはそれに相当する foundry-transforms-lib-python
に常にアップグレードすることをお勧めします:
軽量トランスフォームは、コンテナオーケストレーションインフラストラクチャの上に構築されており、その機能を使用するには、Foundryエンロールメントに存在する必要があります。
この例では、軽量トランスフォームをPythonトランスフォームパイプラインで使用する方法を示します。以下のようなSparkパイプラインがあり、pandasを@transform_pandas
経由で使用しているとしましょう:
このコードを軽量トランスフォームに変換するには、次の手順を実行する必要があります:
foundry-transforms-lib-python
をインストールする。@lightweight
をインポートして適用する。
このパイプラインは現在、ユーザーの利用可能なCPUコアすべてを使用しており、またPolarsのクエリ最適化エンジンも搭載しています。このエンジンは不要な操作を排除し、Pandasよりも効率的なアルゴリズムを見つけてユーザーの操作を実行します。軽量トランスフォームについてさらに学びたい場合は、軽量トランスフォームAPIsのドキュメンテーションを参照してください。