apache-spark - 从 spark 代码更改单个作业的临时路径
问题描述
我有多个要并行执行的作业,这些作业使用动态分区将每日数据附加到同一路径中。
我面临的问题是spark在作业执行期间创建的临时路径。多个作业最终共享同一个临时文件夹并导致冲突,这可能导致一个作业删除临时文件,而另一个作业失败并出现错误,指出预期的临时文件不存在。
我们可以更改个别工作的临时路径还是有任何替代方法来避免问题
解决方案
要更改临时位置,您可以执行以下操作:
/opt/spark/bin/spark-shell --conf "spark.local.dir=/local/spark-temp"
spark.local.dir 更改读取和写入所有临时文件的位置,我建议在运行带有此参数的第一个会话之前通过命令行构建和打开此位置的位置。
推荐阅读
- python - 导入用户定义的包时出错
- c# - 如果按下两个 WASD 键,角色会朝第一次按键的方向移动 - 但一旦抬起,角色就会继续朝那个方向移动
- c - 为什么我的输出字符串的第 17 个字符被替换为“o”?
- bitbucket - Bitbucket 管道上的远程命令
- c++ - 为什么我的代码超过了时间限制,而真正相似的代码却没有(Leetcode 1249)?
- javascript - 当悬停状态触发触摸事件时,通过 JS 更改按钮悬停状态
- javascript - 使用 orderBy() 时,Firestore 分页在下一页返回多个结果
- sql - CloudSQL 副本负载均衡
- python - AttributeError:模块“urllib.response”没有属性“status_code”
- cmake - CMake 不会将 /usr/include 添加到 include_directories 列表中