TLDRAccording to the docs
您需要将python文件上传到S3存储桶中。如果你有一个以上你需要拉他们。启动dev端点时,Security configuration, script libraries, and job parameters (optional)下有一个设置Python library path,用于设置包含自定义库(包括脚本、模块、包)的S3存储桶的路径。您还需要确保附加到dev端点使用的IAM角色的IAM策略能够访问该bucket的list/head/getobject等。在
详情
这是一项额外的工作,但主要原因是库需要加载到Spark集群中的每个DPU(执行容器)。在
当您使用Sparkmagic (pyspark)内核时,它使用一个名为livy的Spark库来连接并在远程Spark集群上运行代码。dev endpoint实际上是一个Spark集群,您的“Sagemaker笔记本”^正在连接到Spark集群上的livy主机。在
这与普通的Python环境大不相同,主要是因为当前的工作目录和执行代码的位置不在同一个地方。Sagemaker允许使用大量的Jupyter magics,因此您可以测试一下并查看。在
例如在一个段落中%pwd
它会向你展示你期望看到的东西,比如/home/ec2-user/SageMaker
试试这个:
^{pr2}$
你会看到这样的东西Glue Examples/ lost+found/ shared/ a_notebook.ipynb
这些魔术是在使用笔记本的上下文,并显示与之相关的目录。
如果你尝试这个:import os
print(os.getcwd())
你会看到完全不同的东西:/mnt/yarn