apache-spark - Databricks/Spark 作业执行的 Java 代码 - 一个执行程序的设置
问题描述
在我们当前的系统中,有一个 Java 代码正在读取一个文件,它将全天 - 24 小时生成许多 JSON 文档;所有 JSON 文档都写入 CosmosDB。当我在控制台中执行它时,一切正常。我尝试使用 uber-jar 文件安排 Databricks 作业,但失败并出现以下错误:
"Resource with specified id or name already exists."
看起来没问题... IMO 因为现有集群的默认设置包含许多执行程序 - 所以每个执行程序都会尝试向 CosmosDB 写入相同的 JSON 文档集。所以我改变了主要方法如下:
public static void main(String[] args) {
SparkConf conf01 = new SparkConf().set("spark.executor.instances","1").set("spark.executor.cores","1");
SparkSession spark = SparkSession.builder().config(conf01).getOrCreate();
...
}
但是我从 CosmosDB收到了相同的错误“具有指定 id 或名称的资源已存在” 。我希望这个特定的 Java 代码只有一个执行器,如何只使用一个 spark 执行器?
任何帮助(链接/文档/网址/代码)将不胜感激。谢谢 !
解决方案
推荐阅读
- javascript - Redux Web 扩展 - 未捕获的 TypeError:传播不可迭代实例的无效尝试
- c# - 日期和十进制验证 ASP.NET Core
- python-3.x - Python kmeans 值错误
- java - 我可以在 IntelliJ 中使用 webjars 而不构建项目吗?
- html - CSS Image Sprites 在 IE 11 中不工作,但在 chrome 中工作正常
- performance-testing - 无法在 Loadrunner 中记录事务时间
- git - GitHub 上的 WxWidgets 存储库内容
- c# - 如何使用 C# winform 在特定时间打开新表单
- ios - 如何根据设备屏幕objective-c设置UITableViewCell高度
- python - Python 单选题