我想在设置AWS EMR(6.0.0版本)时安装额外的python库。
我知道我可以通过创建一个名为bootstrap.sh的文件,并将这个文件上传到s3,然后设置一个bootstrap动作,在设置集群时调用这个文件。
sudo pip3 install mlxtend imbalanced-learn etc etc...
然而我有一个单独的requirements.txt文件,里面包含了我需要的所有python库的列表。
如果我把'pip3 install -r requirements.txt'放到bootstrap.sh中,bootstrap.sh就找不到requestes.txt了,因为每个bootstrap操作只允许上传一个s3文件。
有什么办法可以解决这个问题吗?
你可以把你的requirements.txt从你的S3 bucket复制到EMR节点的本地目录下,然后在文件上运行pip install,例如: 1.
#!/bin/bash
aws s3 cp s3://<my-bucket>/requirements.txt .
sudo pip-3.6 install -r requirements.txt