问题标签 [databricks-connect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6093 浏览

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

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

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

我创建了一个 Databricks 作业来运行我的自定义应用 JAR,但它失败并出现以下异常:

我的 Main.scala 类的第 30 行是

就像它在这个文档页面上的描述一样

该页面显示了一种访问 DBUtils 的方法,该方法在本地和集群中都有效。但是这个例子只显示了 Python,我使用的是 Scala。

在本地使用 databricks-connect 和在运行 JAR 的 Databricks 作业中访问它的正确方法是什么?

更新

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

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

2)此处描述的 Databricks Connect 。这允许您在 Databricks 集群中运行本地 Spark 代码。

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

0 投票
3 回答
1301 浏览

apache-spark - 如何从 PyCharm 连接 Databricks 社区版集群

我想从事一些小型练习项目,我希望使用databricks集群。这可以做到吗。我希望有某种方法可以通过 databricks-connect 实用程序连接 databricks 集群。只需要一些步骤。提前致谢。

0 投票
1 回答
151 浏览

python - Spark DataFrame 到 ADW 表:无法插入字符 >4k 的列

我在 DataBricks 上有 spark 数据框,其列的字符长度 > 10,000。

我需要将其插入 Azure 数据仓库 (ADW) 表,但如果列字符长度超过 4,000,则会出现错误。

错误:填充记录读取器缓冲区时遇到意外错误:HadoopSqlException:字符串或二进制数据将被截断。

我需要做什么才能插入字符长度 > 10k 或 20k 的列。

0 投票
1 回答
152 浏览

python - 创建范围以从 Databricks 访问 Azure Datalake Gen2 时出现属性错误

我试图使用示波器进行设置,但遇到了一些问题。任何帮助,将不胜感激。

我在 Databricks CLI 中运行了以下命令

成功创建范围。然后我尝试在我的笔记本中运行以下内容

此时我收到错误消息。请参考下图

错误

错误详情

0 投票
0 回答
199 浏览

scala - IntelliJ 出现代码错误,但在 Databricks Notebook 上运行良好

我在 IntelliJ 上使用 Scala API 开发 Spark 代码,当我运行它时,我得到以下错误,但在 Databricks 笔记本上运行良好。

我正在使用 Databricks Connect 从 IntelliJ 的本地安装连接到 Databricks Spark 集群。我已连接到集群,并且也能够从 IntelliJ 向集群提交作业。AMOF,除了下面的部分,其他一切都有效。

DBConnect 是 6.1 ,Databricks Runtime 是 6.2 从集群中导入 jar 文件(使用 Databricks-connect get-jar-dir )并使用项目库中的 jar 设置 SBT 项目

源代码:

错误:

我对文本使用 RDD 阅读器的原因是我可以将此输出传递给 createDataFrame API。如您所知,createdataframe API 将 RDD 和模式作为输入参数。

步骤1:val v_RDD_textFile_read = sparkContext.textFile(v_filename_path).map(x => MMRSplitRowIntoStrings(x))

第 2 步:(已val v_DF_textFile_read = sparkSession.sqlContext.createDataFrame(v_RDD_textFile_read, v_schema)编辑

0 投票
2 回答
702 浏览

databricks - 如何生成有效期超过 48 小时的 databricks 特权令牌

想要运行连接到 Azure databricks 集群的本地 Jupiter notebook,并且需要使用 dbutils 来获取机密。这需要在本地保存特权令牌,并且仅持续 2 天。有没有办法生成比这更长的令牌或继续在本地使用 dbutils 更长时间?

0 投票
0 回答
273 浏览

eclipse - 如何将 Eclipse IDE 与 Databricks 集群集成

我正在尝试将我的 Scala Eclipse IDE 与我的 Azure Databricks 集群集成,以便我可以通过我的 Databricks 集群上的 Eclipse IDE 直接运行我的 Spark 程序。

我遵循了 Databricks Connect 的官方文档(https://docs.databricks.com/dev-tools/databricks-connect.html)。我有:安装了 Anaconda。安装了 Python Lib 3.7 和 Databricks Connect 库 6.0.1。是否 Databricks 连接配置部分(CLI 部分)。此外,还在 Eclipse IDE 中添加了客户端库。设置 SPARK_HOME 环境。我从 Anaconda 中运行命令获得的路径的变量,即“databricks-connect get-jar-dir”

除了上面提到的之外,我没有设置任何其他环境变量。

需要帮助才能找到完成此集成需要做的其他事情,例如 ENV. 如果通过 IDE 运行,与连接相关的变量将起作用。

如果有人已经成功地做到了这一点,请指导我。

0 投票
1 回答
4417 浏览

pyspark - databricks-connect, py4j.protocol.Py4JJavaError: 调用 o342.cache 时出错

与数据块的连接工作正常,使用 DataFrame 可以顺利进行(连接、过滤等操作)。当我调用数据框时会出现问题cache

我根据需要使用 java8,清除 pycache 没有帮助。作为作业提交给数据块的相同代码可以正常工作。它看起来像是桥 python-jvm 级别的本地问题,但需要 java 版本 (8) 和 python (3.7)。切换到 java13 会产生完全相同的消息。

版本databricks-connect==6.2.0, openjdk version "1.8.0_242",Python 3.7.6

编辑:行为取决于如何创建 DF,如果 DF 的源是外部的,那么它工作正常,如果 DF 是在本地创建的,那么就会出现这样的错误。

0 投票
1 回答
983 浏览

azure - 如何使用来自使用 databricks-connect 连接的 pycharm(本地 IDE)的 spark 列出 azure 数据湖中的文件

我正在我的本地机器上的 pycharm 上处理一些代码。执行在 databricks 集群上完成,而数据存储在 azure datalake 上。

基本上,我需要列出 azure datalake 目录中的文件,然后对文件应用一些读取逻辑,为此我使用以下代码

上面的代码在 databricks 笔记本上运行良好,但是当我尝试使用 databricks-connect 通过 pycharm 运行相同的代码时,出现以下错误。

在一些挖掘结果中,代码正在我的本地驱动器中查找“路径”。我对 python 库(os,pathlib)有类似的问题

我在集群上运行其他代码没有问题。

在弄清楚如何运行它以搜索数据湖而不是我的本地机器时需要帮助。

此外,由于某些限制,不能选择 azure-datalake-store 客户端。

0 投票
1 回答
4560 浏览

apache-spark - Databricks 连接失败,方案没有文件系统:abfss

我已经设置了 Databricks Connect,以便我可以在本地开发并获得 Intellij 好东西,同时利用 Azure Databricks 上大型 Spark 集群的强大功能。

当我想读取或写入 Azure Data Lake 时 spark.read.csv("abfss://blah.csv) ,我得到以下信息

由此的印象是,由于代码是远程执行的,因此在本地引用 Azure Data Lake 不会有问题。显然我错了。

有没有人可以解决这个问题?