我正在运行一个类似于以下的spark提交:
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.
我需要以这种方式将这两个二进制文件添加到节点中,因为它们是由worker中的外部*.dll
/*.so
解析的,而worker只能处理本地文件。
现在在yarn=master deploy-mode=client
中运行,我的节点获得驱动程序,因此将文件从hdfs拉到/tmp
目录。由于这些文件很大,它很快就填满了我有限的/tmp
目录。
我想知道是否有人能指出将此路径从/tmp
更改为/my/other/tmp/with/more/space
的设置,因为我已经设置了参数spark.local.dir
、spark.executor.extraJavaOptions
和spark.driver.extraJavaOptions
。
谢谢,Maffe
如果hdfs上已经有这些文件,则不应将它们作为--files
参数传递。--files
应该用于在每个执行器节点上创建一些静态数据的本地副本。在您的情况下,应该将文件位置作为激发作业参数传递给以后访问。