Installieren von Paketen in AWS EMR

Installieren von Paketen in AWS EMR

Ich versuche zu installierenGoogle Tinkin AWS EMR 5.28.0 ohne viel Glück. Es sieht so aus, als ob das AWS EMR-Image von Natur aus ziemlich seltsam ist. Irgendwelche Ideen?

sc.install_pypi_package("tink")

Fehler: Ausführbare Bazel-Datei konnte nicht gefunden werden. Bitte installieren Sie Bazel, um das Tink Python-Paket zu kompilieren.

 sudo yum install -y bazel3

Erfordert: java-11-openjdk-devel

sudo yum install java-11-openjdk-devel

Kein Paket java-11-openjdk-devel verfügbar.

 sudo yum install amazon-linux-extras

Kein Paket amazon-linux-extras verfügbar.

Antwort1

Wie sich herausstellt, ist das Arbeiten mit dem Linux AMI (der Basis für AWS EMR 5.28.0) mühsam. In keinem der verfügbaren Repositories ist Java, Bezel und noch weniger Tinker verfügbar (im Vergleich zu Macos, Ubuntu oder sogar dem ECR Python-Image, wo es ein Kinderspiel ist).

Um Java 11jdk zu erhalten, müssen Sie zu Oracle gehen und nach dem Linux x64 RPM-Paket suchen. Leider müssen Sie sich auf deren Site anmelden, daher ist wget/curl nicht möglich.

Zur Installation müssen Sie Folgendes tun:

 sudo yum localinstall jdk-11.0.12_linux-x64_bin.rpm

Für Bazel müssen Sie das Paket von Github herunterladenhttps://github.com/bazelbuild/. Wählen Sie die neueste Version und installieren Sie

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

Dann funktioniert Pip einwandfrei

sc.install_pypi_package("tink")

Ausgabe:

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

verwandte Informationen