apache-spark - spark本地模式不尊重 spark.app.id 属性
问题描述
我们尝试使用 spark 本地模式而不是集群模式,但本地模式下的 spark 不支持 spark 属性文件中的 spark.app.id 属性。它总是使用一些内部local-<timestamp>
作为应用程序 ID。我们使用脚本来管理 spark.app.id,也想使用 spark 本地模式。我们需要使用火花历史来检查火花作业。
解决方案
从 Spark Source 你可以看到:
/**
* A unique identifier for the Spark application.
* Its format depends on the scheduler implementation.
* (i.e.
* in case of local spark app something like 'local-1433865536131'
* in case of YARN something like 'application_1433865536131_34483'
* in case of MESOS something like 'driver-20170926223339-0001'
* )
*/
当您提供主服务器时,local
它将使用LocalSchedulerBackend
哪个初始化应用程序 ID:
private val appId = "local-" + System.currentTimeMillis
当你在集群上运行时,它会接受spark.app.id
并使用它,类StandaloneSchedulerBackend
和从该属性中获取它的逻辑。
希望它可以帮助你。
推荐阅读
- mysql - MySQl:如何分组('年')日期格式的列,忽略月份和日期
- ios - 项目选择器未在 xcode 中显示
- python - Python 正则表达式不匹配“,”或字符串结尾
- html - 如何让用户在 html 中调整视频的音量?
- facebook - 从 Facebook 页面获取事件的权限
- ios - 在 Swift 中像 String 一样连接 Int?
- python - 如何获取工作簿中活动工作表的工作表编号或工作表名称
- php - 如何在数组数组中找到相同的名称并在 PHP 中组合它们的值?
- python - 正则表达式命名组(如果存在)
- spring-boot - Spring Boot 实体、关系和存储库混淆