spark-submit --files hdfs: // файл кэшируется в / tmp на драйвере - PullRequest
0 голосов
/ 27 ноября 2018

Я использую spark-submit следующим образом:

spark-submit --deploy-mode client 
             --master yarn 
             --conf spark.files.overwrite=true 
             --conf spark.local.dir='/my/other/tmp/with/more/space' 
             --conf spark.executor.extraJavaOptions='-Djava.io.tmpdir=/my/other/tmp/with/more/space' 
             --conf spark.driver.extraJavaOptions='-Djava.io.tmpdir=/my/other/tmp/with/more/space'
             --files hdfs:///a_big_file.binary,hdfs:///another_big_file.binary 
              ... etc.

Мне нужно таким образом добавить эти два бинарных файла к узлам, так как они анализируются внешним *.dll /*.so в рабочих, которые могут просто обрабатывать локальные файлы.

Теперь работает в yarn=master deploy-mode=client, мой узел получает драйвер и, следовательно, извлекает файлы из каталога hdfs в каталог /tmp.Поскольку эти файлы довольно большие, они довольно быстро заполняют мою ограниченную директорию /tmp.

Интересно, кто-нибудь может указать настройку для изменения этого пути с /tmp на /my/other/tmp/with/more/space, поскольку я уже установил аргументы spark.local.dir, spark.executor.extraJavaOptions и spark.driver.extraJavaOptions.

Спасибо, Маффе

1 Ответ

0 голосов
/ 27 ноября 2018

Если у вас уже есть эти файлы в формате hdf, вы не должны передавать их в качестве аргумента --files.--files следует использовать для создания локальной копии некоторых статических данных на каждом узле исполнителя.В вашем случае вы должны передать расположение файлов в качестве аргументов искровой работы, чтобы получить доступ позже.

...