Я создал AMI aws, который содержит локальный репозиторий maven, и он находится в / usr / local /
Затем я использую этот AMI для создания кластера AWS EMR с использованием spark и zeppelin.
когда я использую pyspark --packages для импорта jar-пакетов, экземпляр EMR создает каталог .ivy в / home / hadoop. Zeppellin создаст каталог с идентификатором в качестве имени в / var / lib / zeppelin / local-repo
как указать pyspark, spark и zeppelin на использование моего локального репозитория maven (/usr/local/.m2/repository) вместо создания каталога .ivy и загрузки jar-файлов из mave central?
Я знаю, что могу использовать pyspark --jars /local/path/to/jar.jar
, чтобы импортировать jar из локального пути и скопировать в каталог .ivy, но я предпочитаю использовать zeppelin и мой локальный репозиторий maven.
Также, если я установлю spark.driver.extraClassPath
и spark.executor.extraClassPath
/usr/local/.m2/repository/* в spark-default.conf, то spark сможет искать jar-файлы в этих каталогах (так как каталог inisde этого не делает содержит .jar striaght, например /usr/local/.m2/repository/groupId/artifactId/version/name.jar)