当前位置:  开发笔记 > 编程语言 > 正文

使用Databricks Connect时如何在Scala中正确访问dbutils

如何解决《使用DatabricksConnect时如何在Scala中正确访问dbutils》经验,为你挑选了0个好方法。

我正在使用Databricks Connect从IntelliJ IDEA(Scala)在本地Azure Databricks群集中运行代码。

一切正常。我可以在IDE中本地连接,调试和检查。

我创建了一个Databricks作业来运行我的自定义应用程序JAR,但由于以下异常而失败:

19/08/17 19:20:26 ERROR Uncaught throwable from user code: java.lang.NoClassDefFoundError: com/databricks/service/DBUtils$
at Main$.(Main.scala:30)
at Main$.(Main.scala)

我的Main.scala类的第30行是

val dbutils: DBUtils.type = com.databricks.service.DBUtils

就像本文档页面上的描述一样

该页面显示了一种访问在本地和群集中均可使用的DBUtil的方法。但是该示例仅显示了Python,而我正在使用Scala。

以既可以使用databricks-connect在本地工作又可以在运行JAR的Databricks作业中工作的方式访问它的正确方法是什么?

更新

似乎有两种使用DBUtils的方法。

1)这里描述的DbUtils类。引用文档,此库允许您构建和编译项目,但不能运行它。这不允许您在集群上运行本地代码。

2)此处描述了 Databricks Connect 。这使您可以在Databricks集群中运行本地Spark代码。

问题在于这两种方法具有不同的设置和程序包名称。似乎没有一种在本地使用Databricks Connect的方法(在群集中不可用),但是随后通过sbt / maven添加了使用DbUtils类的jar应用程序,以便群集可以访问它。

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有