通过Python命令和dbutils在Databricks上安装Maven库

问题描述

在Databricks上,如果尚未安装,我想通过Python Notebook中的命令安装Maven库。

如果它是Python PyPI库,我将执行以下操作:

# Get a list of all available library 
library_name_list = dbutils.library.list()
# Suppose the library of interest was "scikit-learn"
if "scikit-learn" not in library_name_list:
  # Install the library 
  dbutils.library.installPyPI("scikit-learn")

如何对Maven库“ com.microsoft.azure.kusto:spark-kusto-connector:2.0.0”执行相同的操作,即检查它是否已经安装,如果尚未安装,则进行安装?

我可以通过以下方式使用UI安装Maven库:转到“集群”->“库”->“新安装”->“ Maven”。但我想通过脚本以编程方式进行操作。

解决方法

注意:库实用程序(dbutils.library.installPyPI(""))允许您安装 Python库,并创建范围为笔记本会话的环境。

以下是通过编程方式从Maven存储库安装库的步骤:

您可以使用Databricks CLI在Azure Databricks中安装Maven库。

第1步::您可以从Maven坐标中转到Maven存储库,然后选择要查找的版本,并记下相关性(groupId,artifactId和Version)。

enter image description here

步骤2 ,使用databricks CLI获取群集ID。

要获取群集ID:databricks clusters list

enter image description here

第3步:使用下面的Databricks CLI命令在Databricks中安装“ com.microsoft.azure.kusto:spark-kusto-connector:2.0.0”。

语法: databricks libraries install --cluster-id "Cluster ID" --maven-coordinates "GroupId:ArtifactId:Version" (i.e.org.jsoup:jsoup:1.7.2)

要使用databricks CLI安装Maven库,请执行以下操作:databricks libraries install --cluster-id "1013-095611-mazes551" --maven-coordinates "com.microsoft.azure.kusto:spark-kusto-connector:2.0.0"

要检查群集上的安装库,请执行以下操作:databricks libraries list --cluster-id "1013-095611-mazes551"

enter image description here

有关在Azure Databricks中安装软件包的其他方法,请参考:How to install a library on a databricks cluster using some command in the notebook?