instalando pacotes no AWS EMR

instalando pacotes no AWS EMR

estou tentando instalarGoogle Tinkno AWS EMR 5.28.0 sem muita sorte. Parece que a imagem do AWS EMR é de natureza bastante estranha. Alguma ideia?

sc.install_pypi_package("tink")

erro: não foi possível encontrar o executável do bazel. Instale o bazel para compilar o pacote Tink Python.

 sudo yum install -y bazel3

Requer: java-11-openjdk-devel

sudo yum install java-11-openjdk-devel

Nenhum pacote java-11-openjdk-devel disponível.

 sudo yum install amazon-linux-extras

Nenhum pacote amazon-linux-extras disponível.

Responder1

Acontece que o Linux AMI (a base para AWS EMR 5.28.0) é difícil de trabalhar. Nenhum dos repositórios disponíveis tem Java, Bezel, muito menos Tinker prontamente disponível (compare com Macos, Ubuntu ou mesmo imagem ECR Python, onde é muito fácil)

Para obter o Java 11jdk você precisa ir ao Oracle e procurar o pacote Linux x64 RPM. Infelizmente, você precisa fazer login no site deles, portanto o wget/curl não é possível.

Para instalar você precisa fazer:

 sudo yum localinstall jdk-11.0.12_linux-x64_bin.rpm

Para o Bazel você precisa obter o pacote do Githubhttps://github.com/bazelbuild/. Escolha o mais recente e instale

./bazel-4.1.0-installer-linux-x86_64.sh 

Então pip funciona bem

sc.install_pypi_package("tink")

Saída:

Successfully built tink
Installing collected packages: protobuf, absl-py, tink
Successfully installed absl-py-0.13.0 protobuf-3.17.3 tink-1.6.1

informação relacionada