使用JAR文件作为Databricks集群库



我需要安装一个JAR文件作为库,同时设置一个Databricks集群作为我的Azure发布管道的一部分。截至目前,我已经完成了以下内容-

  • 使用Azure CLI任务创建集群定义
  • 使用curl命令从Maven存储库下载JAR文件到管道代理文件夹
  • 在管道代理上设置Databricks CLI
  • 使用databricks fs cp从本地(管道)复制JAR文件代理)目录到dbfs:/FileStore/jars文件夹

我正在尝试创建一个集群范围的初始化脚本(bash)脚本,将-

  • 安装pandas、azure-cosmos和python-magic包
  • 将JAR文件(已经在前面的步骤中复制到dbfs:/FileStore/jars位置)安装为集群库文件

我的集群初始化脚本看起来像这样-

#!/bin/bash
/databricks/python/bin/pip install pandas 2>/dev/null
/databricks/python/bin/pip install azure-cosmos 2>/dev/null
/databricks/python/bin/pip install python-magic 2>/dev/null

但是我不知道-

  • 如果这将添加包到集群
  • 如何将现有的JAR文件作为库添加到集群

我知道还有其他方法可以编辑集群库元数据,但据我所知,对集群库的任何更改都需要集群处于RUNNING状态,而在我们的情况下可能不是这样。这就是为什么,我想在我的集群定义中添加一个初始化脚本,这样,当集群重新启动/运行时,初始化脚本将被执行。

请帮助。

谢谢。Subhash

如果你只想将jar文件复制到集群节点,只需将它们复制到/databricks/jars文件夹中,就像这样(作为初始化脚本的一部分):

cp `/dbfs/FileStore/jars/<file-name.jar> /databricks/jars/

cp `/dbfs/FileStore/jars/*.jar /databricks/jars/

关于init脚本的其余部分-是的,它将根据需要在所有集群节点上安装包。只有两个注释:

  • 您可以使用一个pip命令安装多个包-它应该比逐个安装稍微快一些:
#!/bin/bash
/databricks/python/bin/pip install pandas azure-cosmos python-magic
  • 使用2>/dev/null可能会使初始化脚本的调试变得更加困难,例如,当您遇到网络连接问题或构建错误时。如果没有它,你将能够提取集群日志(如果它们是启用的,它也将包含初始化脚本的日志)

相关内容

  • 没有找到相关文章

最新更新