我正在尝试使用新的sagemaker spark容器运行机器学习的处理作业。集群启动了,但我立即遇到了一个可怕的问题——我的依赖项丢失了。
我发现spark容器没有这些依赖项,我尝试按照上面概述的步骤来安装它们—也就是说,使用pysparkprocessor.run()中的submit\u py\u files参数来提交我所有依赖项的.zip文件。但是,它似乎没有安装它们。
有没有一种方法可以在集群启动时使用sagemaker pysparkprocessor类来执行引导脚本?我当前正在尝试运行一个使用UDF的处理工作负载,并在集群尝试使用pyarrow时看到importerror:
Traceback (most recent call last):
File "/opt/ml/processing/input/code/spark_preprocess.py", line 35 in <module>
@pandas_udf("float", PandasUDFType.GROUPED_AGG)
File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/udf.py", line 47, in _create_udf
File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/utils.py", line 149 in require_minimum_pyarrow_version
ImportError: PyArrow >= 0.8.0 must be installed; however, it was not found.
dependencies.zip包含pyarrow 0.16.0,我使用的是最新版本的sagemaker python sdk。
我知道用emr你可以提交一个引导动作脚本来安装依赖项-这里有类似的选项吗?谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!