scala - 使用 databricks-connect 运行 Scala 模块
问题描述
我已尝试按照此处的说明设置与 IntelliJ 的数据块连接。我的理解是我可以从 IDE 运行代码,它将在 databricks 集群上运行。
我从 miniconda 环境中添加了 jar 目录,并将其移动到所有 maven 依赖项之上File -> Project Structure...
但是,我认为我做错了什么。当我尝试运行我的模块时,出现以下错误:
21/07/17 22:44:24 ERROR SparkContext: Error initializing SparkContext.
java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200. Please increase heap size using the --driver-memory option or spark.driver.memory in Spark configuration.
at org.apache.spark.memory.UnifiedMemoryManager$.getMaxMemory(UnifiedMemoryManager.scala:221)
at org.apache.spark.memory.UnifiedMemoryManager$.apply(UnifiedMemoryManager.scala:201)
at org.apache.spark.SparkEnv$.create(SparkEnv.scala:413)
at org.apache.spark.SparkEnv$.createDriverEnv(SparkEnv.scala:262)
at org.apache.spark.SparkContext.createSparkEnv(SparkContext.scala:291)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:495)
at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2834)
at org.apache.spark.sql.SparkSession$Builder.$anonfun$getOrCreate$2(SparkSession.scala:1016)
at scala.Option.getOrElse(Option.scala:189)
at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:1010)
at com.*.sitecomStreaming.sitecomStreaming$.main(sitecomStreaming.scala:184)
at com.*.sitecomStreaming.sitecomStreaming.main(sitecomStreaming.scala)
259 GB 的系统内存让我觉得它试图在我的笔记本电脑而不是 dbx 集群上本地运行?我不确定这是否正确以及我能做些什么来让它正常运行......
任何帮助表示赞赏!
解决方案
databricks-connect 中的驱动程序始终在本地运行 - 只有执行程序在云中运行。此外,此报告的内存以字节为单位,因此259522560
~256Mb - 您可以使用它报告的选项来增加它。
PS 但是,如果您使用的是结构化流,那么是的 - 这是databricks-connect 的一个已知限制。
推荐阅读
- databricks - Azure databricks 数据帧计数生成错误 com.databricks.sql.io.FileReadException: Error while reading file abfss:REDACTED_LOCAL_PART
- jquery - JQMIGRATE:jQuery.browser 已弃用,无法读取未定义的属性“mozilla”
- c# - WCF 服务中未生成日志文件
- authentication - 从 Windows 10 VM 到 github 的身份验证
- javascript - vue-router - 使用新导航取消从“/”到“/password”的导航
- python - 我已经创建了 django,但它没有加载我的主页
- c++ - 创建用于模板化标准列表的二分搜索
- jquery - Angularjs 1.6.+ 是否与 jQuery 3.5+ 兼容?
- node.js - 在jenkins中运行时如何忽略实际的dotenv(.env)文件
- ios - 为什么我的传输变量总是为空?