如何向Spark的Driver节点传递文件?已知可通过--files给Worker节点传
给Spark Driver节点添加文件的几种方法
首先明确:spark-submit的--files参数本身就会把文件同步到Driver节点和所有Worker节点,所以如果你只是需要Driver能访问目标文件,直接用这个参数就够了,不需要额外操作。
如果是想单独给Driver传文件(不需要Worker节点也拥有),分两种场景处理:
- 客户端模式(client mode):Driver在你提交命令的本地机器启动,直接把文件放在本地路径,代码里用绝对路径或者相对路径读取就行,不用额外参数。
- 集群模式(cluster mode):Driver运行在集群的某个节点上,这时候还是得用
--files参数,或者在代码里调用sc.addFile("文件路径"),Spark会自动把文件分发到Driver所在节点的工作目录。
另外补充:如果是jar包类的文件,想让Driver优先加载,可以用--driver-class-path参数指定路径,但普通文本/配置文件还是--files最直接。
内容的提问来源于stack exchange,提问作者Ereghard
相关产品推荐
相关产品推荐

