如何最好地在Sagemaker PySpark群集中安装依赖项

问题描述

我正在尝试使用新的Sagemaker Spark container运行用于机器学习的处理作业。群集启动,但是我立即遇到ImportError-我的依赖项丢失了。

我知道Spark容器没有那些依赖项,并且我尝试按照SO上概述的步骤进行安装-即,使用PySparkProcessor.run()中的Submit_py_files参数提交.zip文件。我所有的依赖但是,似乎没有安装它们。

集群启动时,是否可以使用Sagemaker PySparkProcessor类执行引导脚本?我目前正在尝试运行使用pandas_udfs的处理工作负载,并且在群集尝试使用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.

dependency.zip包含PyArrow 0.16.0,并且我正在使用最新版本的Sagemaker Python SDK。

我知道您可以通过EMR提交引导操作脚本来安装依赖项-这里有类似的选择吗?谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)