azure - 如何在databricks作业集群中安装maven库

标签 azure maven databricks

我们的 databricks 应用程序使用多个 python 和 maven 包。使用 UI 我们可以毫无问题地安装 Maven 软件包。但由于我们要使用作业集群,我们发现安装它很困难。

我们的工作是通过 ADF 进行安排,一种选择是在 ADF 管道中添加库,但这会对 ADF 端造成太多更改,我们不想这样做。

我们想调用一个笔记本来安装所有必需的库。我们能够安装 python 库,但在安装 Maven 库时遇到问题。

任何帮助都会非常有帮助。

最佳答案

所以我不知道需要等待通过笔记本安装 Maven 库,但还有其他方法可以实现您所需要的。 您可以通过 3 个选项来执行此操作。

  1. 工作区级别的全局初始化脚本。这影响到所有 工作区中的集群。
  2. 本地化到链接服务的初始化脚本。因此,所有需要的 ADF 管道 如果笔记本位于同一台计算机上,则相同的库可以调用相同的链接服务 ADB 工作区。
  3. 可以在各个管道级别列出库。这提供了一个 很大的灵活性,但需要付出额外的努力才能将库列表包含在 每一条管道。它安装在库之上 在全局和链接服务脚本中提到。

由于您希望对 ADF 进行最少的更改,因此我建议使用选项 1 或 2。 对于选项 1: 从maven repo下载maven jar 。 工作区管理员需要通过管理控制台启用 dbfs 浏览,如下所示。这是在管理设置中的工作区设置下完成的。 enter image description here 确保 DBFS 文件浏览选项设置为启用,如下所示 enter image description here 接下来,我们在/dbfs/Filestore/tables/中创建一个名为 jars 的新文件夹,因此路径为/dbfs/FileStore/tables/jars 单击左侧面板上的“数据”选项卡,然后单击“浏览 DBFS”按钮,然后单击“上传”按钮。 确保 DBFS 目标目录设置为/FileStore/tables/jars,如下所示。 然后将 jar 拖放到提供的框中,然后单击“完成”。 enter image description here

我们的初始化脚本应该有一个 .sh 后缀(例如:init1.sh)并且应该包含以下内容:

#!/bin/bash
pip install msal
cp /dbfs/FileStore/tables/jars/spark_mssql_connector_2_12_1_2_0.jar /databricks/jars/

上面的脚本将安装 python 库并将 maven jar 复制到/databricks/jars/文件夹。

将脚本加载为全局初始化脚本。您可以引用this link关于如何做到这一点。

现在,所有集群、交互或作业都将使用同一组库。

关于azure - 如何在databricks作业集群中安装maven库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76305319/

相关文章:

azure - 是否可以使用流分析进行更新插入

java - 显示 mvn 测试期间错误的完整跟踪

java - 为什么aspectj 将测试文件夹中的方面编织到我的源类中(而不是测试类)?

python - Databricks 中的 PySpark 将表转换为 pandas 时出错

apache-spark - 等效于或替代Jupyter的Databricks display()函数

Azure 容器应用程序无法从不同订阅中存在的 Azure 容器注册表中提取镜像

azure - Azure Log Analytics 查询结果的组电子邮件

C# 计时器 Azure SQL 函数

java - @EnableSpringConfigured 导入

ggplot2 - 使用pyspark+databricks时如何绘制相关热图