如何在pyspark作业(笔记本除外)中使用dbutils命令

如何在pyspark作业(笔记本除外)中使用dbutils命令,pyspark,databricks,azure-databricks,Pyspark,Databricks,Azure Databricks,我想使用dbutils命令通过数据库磁盘上的Spark Submit inside作业访问pyspark作业提交中的机密。使用dbutils命令时,会出现错误dbutils not defined 除了笔记本之外,有没有其他方法可以在pyspark作业中使用dbutils 尝试了以下解决方案: 1) 根据以下步骤导入DBUtils。但这不是Databricks dbutils 2) import pyspark.dbutils导入dbutils,根据此。但这也不起作用 pyspark作业如下图所

我想使用dbutils命令通过数据库磁盘上的Spark Submit inside作业访问pyspark作业提交中的机密。使用dbutils命令时,会出现错误dbutils not defined

除了笔记本之外,有没有其他方法可以在pyspark作业中使用dbutils

尝试了以下解决方案:

1) 根据以下步骤导入DBUtils。但这不是Databricks dbutils

2) import pyspark.dbutils导入dbutils,根据此。但这也不起作用

pyspark作业如下图所示:

我对您的问题的理解-我如何从Databricks笔记本的密钥库中访问机密值?
因此,要访问密钥,您必须将Databricks笔记本链接到密钥库。 此链接必须使用作用域来完成。
在以下url中,您必须提供详细信息:

如果打开该链接,则将进入一个秘密作用域创建页面: 链接可能会有所不同,具体取决于订阅的区域/地区。就我而言,这是“西欧”

您必须在页面上提供3个值:
1)范围名称
2)DNS名称
3)资源ID

范围名称必须手动定义,其余两个值必须从密钥库复制。
现在转到Azure密钥库并单击属性部分。

复制DNS名称资源ID值,并将其粘贴到范围创建页面的所需单元格中

就这样。现在,您的笔记本将指向您的钥匙库

我已为我的示波器命名了az kv示波器测试

假设我的密钥库中有一个名为db\u password的秘密,我想在笔记本中访问它

因此,要从Databricks笔记本内的密钥库访问机密值,我必须使用以下命令

    // variable declaration and initialization.    
    val my_kv_scope = "az-kv-scope-test"    
    val password = dbutils.secrets.get(scope = my_kv_scope, key = "db_password")
以下链接将引导您获得有关保密范围的更多信息。


我希望这将使您对笔记本中的关键vault值的可访问性有一些清晰的认识。

Hi@venus,我想在pyspark作业中使用dbutils,而不是在笔记本中。pyspark作业,我们通过spark submit在Databricks中提交内部作业。我在问题中附加了pyspark作业。@Dherajkumar Solanki-在这种情况下,我没有答案:(@Dherajkumarsolanki)你能找到解决方案吗?不,到目前为止,我还没有找到在Databricks中的spark提交作业中使用dbutils的任何解决方案,因为现在的
dbutils
在Databricks笔记本之外不受支持。