Флаг, который вы ищете --archives
. По сути, вы даете ему zip-файл, и он извлекает его в каталог, в котором выполняется каждый контейнер пряжи. Вы должны иметь доступ к ним, используя относительные пути в вашем скрипте.
Вы также можете контролировать имя папки, в которую вы распаковываете zip, добавив #{name}
в конец. Например --archives s3://aaa/some.zip#files
. Spark упоминает об этом только мимоходом:
https://spark.apache.org/docs/latest/running-on-yarn.html#important-notes
Следует помнить одну вещь: если вы работаете с --deploy-mode client
, тогда ваш драйвер не использует контейнер для пряжи, ипоэтому не будет иметь доступа к файлам. Вместо этого вы захотите использовать --deploy-mode cluster
.