Я пытаюсь запустить простую работу с помощью spark submit. Я делаю так:
spark-submit --class com.my.namespace.MyJobClass --master local --deploy-mode client --conf spark.driver.extraClassPath=$(echo ./lib/*.jar | tr ' ' ':') --verbose hdfs://tmp/jars/mySparkJob.jar args
(Обратите внимание, что я переименовал все имена классов и т. Д. В стиль "MyJob", чтобы здесь все было проще). Задание выполнено нормально, основной класс разрешен нормально, и я разрешаю все свои зависимости без проблем.
Тем не менее, при первом запуске я обнаружил ошибку в MyJobClass
. Поэтому я исправил это, переупаковал MySparkJob.jar
, вернул его обратно в HDFS и снова запустил работу. Тем не менее, ошибка остается. Независимо от того, что я делаю, кажется, что SPARK повторно использует мою первоначальную версию MySparkJob.jar
, поэтому я не могу запустить обновленную версию этого фляги.
Я использую свечу 2.1.0
(версия mapr: Running Spark version 2.1.0-mapr-1801
)
Я пытался:
- работает от локального и кластерного режимов искры
- декомпиляция банки, чтобы убедиться, что изменение кода существует
- переименовав банку и запустив ее - необъяснимо, что она все еще использует старый код !!
- Используйте локальную и hdfs версию исправленного jar
- перезапуск менеджера ресурсов
- удаление spark.yarn.archive -> maprfs: ///apps/spark/spark-jars.zip
Я чувствую, что должен делать что-то глупое (это случается!). Мои вопросы:
- Мне нужно очистить что-нибудь от искры между работами? Если так, что мне нужно очистить и где это находится?
- Эффективно ли зажигает молнии мои зависимости и размещает их где-нибудь? Если да, то где?
- Любые другие наблюдения, которые могут помочь?