установка пакетов в AWS EMR

установка пакетов в AWS EMR

Я пытаюсь установитьGoogle Тинкв AWS EMR 5.28.0 без особой удачи. Похоже, что образ AWS EMR довольно странный по своей природе. Есть идеи?

sc.install_pypi_package("tink")

ошибка: Не удалось найти исполняемый файл bazel. Установите bazel для компиляции пакета Tink Python.

 sudo yum install -y bazel3

Требуется: java-11-openjdk-devel

sudo yum install java-11-openjdk-devel

Пакет java-11-openjdk-devel недоступен.

 sudo yum install amazon-linux-extras

Пакет amazon-linux-extras недоступен.

решение1

Как оказалось, Linux AMI (база для AWS EMR 5.28.0) — это больно работать. Ни в одном из доступных репозиториев нет Java, Bezel, не говоря уже о Tinker (сравните с Macos, Ubuntu или даже образом ECR Python, где это проще простого)

Чтобы получить Java 11jdk, вам нужно зайти на Oracle и поискать Linux x64 RPM Package. К сожалению, вам нужно войти на их сайт, поэтому wget/curl невозможен.

Для установки вам необходимо сделать:

 sudo yum localinstall jdk-11.0.12_linux-x64_bin.rpm

Для Bazel вам нужно получить пакет с Githubhttps://github.com/bazelbuild/. Выберите последнюю версию и установите

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

Тогда pip работает нормально

sc.install_pypi_package("tink")

Выход:

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

Связанный контент