问题描述
我创建了一个消息生成器工具,该工具可生成JSON格式的文件并直接写入到Azure数据湖存储中。
使用Java ExecutorService进行多线程处理:
ExecutorService pool = Executors.newFixedThreadPool(5);
我试图通过IDE在本地计算机上执行,发现该进程正在并行执行(线程数:5),并且执行时间得到了很好的改善。
虽然我正在使用azure Databricks Notebook通过以下设置执行相同的jar文件,但发现它正在序列化中执行,并且执行时间没有任何改善:
集群模式:标准 Databrick运行时版本:7.0(包括Apache Spark 3.0.0,Scala 2.12) 驱动程序和工作者类型:Standard_DS3_v2
场景2 :此外,我在代码中应用了logger(java.util.logging.Logger
),以便在作为jar文件执行时监视活动。
为记录器创建了此实例:
static Logger logger = Logger.getLogger(DataLakeConnection.class.getName());
a)我试图从Azure Databrick的“群集”页面中的“驱动程序日志”部分(跟踪stdout,stderr,log-4j)访问日志,但是找不到在jar文件中用作记录器的任何日志。
b)我试图通过笔记本使用命令从Azure Databrick的“ DBFS”部分访问更多日志。
我的问题是:
预先感谢您:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)