instalación de paquetes en AWS EMR

instalación de paquetes en AWS EMR

Estoy intentando instalarGoogle Tinken AWS EMR 5.28.0 sin mucha suerte. Parece que la imagen de AWS EMR es de naturaleza bastante extraña. ¿Algunas ideas?

sc.install_pypi_package("tink")

error: No se pudo encontrar el ejecutable de Bazel. Instale bazel para compilar el paquete Tink Python.

 sudo yum install -y bazel3

Requiere: java-11-openjdk-devel

sudo yum install java-11-openjdk-devel

No hay ningún paquete java-11-openjdk-devel disponible.

 sudo yum install amazon-linux-extras

No hay ningún paquete amazon-linux-extras disponible.

Respuesta1

Resulta que es complicado trabajar con la AMI de Linux (la base para AWS EMR 5.28.0). Ninguno de los repositorios disponibles tiene Java, Bezel y mucho menos Tinker disponibles (compárese con Macos, Ubuntu o incluso la imagen ECR Python, donde es muy sencillo).

Para obtener Java 11jdk, debe ir a Oracle y buscar el paquete RPM de Linux x64. Desafortunadamente, debes iniciar sesión en su sitio, por lo que wget/curl no es posible.

Para instalarlo necesitas hacer:

 sudo yum localinstall jdk-11.0.12_linux-x64_bin.rpm

Para Bazel necesitas obtener el paquete de Githubhttps://github.com/bazelbuild/. Elija la última versión e instálela

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

Entonces pip funciona bien

sc.install_pypi_package("tink")

Producción:

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

información relacionada