【发布时间】:2020-11-27 18:00:17
【问题描述】:
这是我的问题: 我必须使用用 PySpark 编写的自定义代码运行 Sagemaker 处理作业。我通过运行以下命令使用了 Sagemaker SDK:
spark_processor = sagemaker.spark.processing.PySparkProcessor(
base_job_name="spark-preprocessor",
framework_version="2.4",
role=role_arn,
instance_count=2,
instance_type="ml.m5.xlarge",
max_runtime_in_seconds=1800,
)
spark_processor.run(
submit_app="processing.py",
arguments=['s3_input_bucket', bucket_name,
's3_input_file_path', file_path
]
)
现在我必须使用 Step Functions 来自动化工作流程。为此,我编写了一个 lambda 函数来执行此操作,但收到以下错误:
{
"errorMessage": "Unable to import module 'lambda_function': No module named 'sagemaker'",
"errorType": "Runtime.ImportModuleError"
}
这是我的 lambda 函数:
import sagemaker
def lambda_handler(event, context):
spark_processor = sagemaker.spark.processing.PySparkProcessor(
base_job_name="spark-preprocessor",
framework_version="2.4",
role=role_arn,
instance_count=2,
instance_type="ml.m5.xlarge",
max_runtime_in_seconds=1800,
)
spark_processor.run(
submit_app="processing.py",
arguments=['s3_input_bucket', event["bucket_name"],
's3_input_file_path', event["file_path"]
]
)
我的问题是:如何在我的状态机中创建一个步骤以使用 Sagemaker 处理运行 PySpark 代码?
谢谢
【问题讨论】:
标签: python amazon-web-services pyspark amazon-sagemaker aws-step-functions