

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 远程运行 Feature Store 特征处理器
<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 应用程序提供其他依赖项 JARs，例如 Python 文件和文件。

为了在开发特征处理代码时更快地进行迭代，可以在 `@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`必需的。