

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 遠端執行功能儲存功能處理器
<a name="feature-store-feature-processor-execute-remotely"></a>

若要在需要比本機可用硬體更強大的大型資料集上執行特徵處理器，您可以使用`@remote`裝飾器來裝飾程式碼，將本機 Python 程式碼當做單一或多節點分散式 SageMaker 訓練工作執行。如需將程式碼做為 SageMaker 訓練工作執行的詳細資訊，請參閱[以 SageMaker 訓練工作方式執行本機代碼](train-remote-decorator.md)。

以下是 `@remote` 裝飾器和 `@feature_processor` 裝飾器的使用範例。

```
from sagemaker.remote_function.spark_config import SparkConfig
from sagemaker.remote_function import remote
from sagemaker.feature_store.feature_processor import CSVDataSource, feature_processor

CSV_DATA_SOURCE = CSVDataSource('s3://bucket/prefix-to-csv/')
OUTPUT_FG = 'arn:aws:sagemaker:us-east-1:123456789012:feature-group/feature-group'

@remote(
    spark_config=SparkConfig(), 
    instance_type="ml.m5.2xlarge",
    dependencies="/local/requirements.txt"
)
@feature_processor(
    inputs=[CSV_DATA_SOURCE], 
    output=OUTPUT_FG,
)
def transform(csv_input_df):
   return csv_input_df
   
transform()
```

此`spark_config`參數指出遠端工作以 Spark 應用程式的形式執行。該`SparkConfig`執行個體可用於配置 Spark 組態，並提供額外的相依性到 Spark 應用程式，如 Python 文件、JAR 和文件。

為了在開發特徵處理代碼時更快地迭代，您可以在`@remote`裝飾器中指定`keep_alive_period_in_seconds`引數，以將設定的資源保留在暖集區中，以供後續訓練任務使用。如需有關暖集區的更多資訊，請參閱 API 參考指南中的 `[KeepAlivePeriodInSeconds](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResourceConfig.html#sagemaker-Type-ResourceConfig-KeepAlivePeriodInSeconds)`。

以下是本機 `requirements.txt:` 範例

```
sagemaker>=2.167.0
```

這將在遠端工作中安裝對應的 SageMaker SDK 版本，這是執行由 `@feature-processor` 註釋的方法所需的。