在 Azure Databricks 中编辑 Azure 存储帐户

Posted

技术标签:

【中文标题】在 Azure Databricks 中编辑 Azure 存储帐户【英文标题】:Editing the Azure Storage Account in Azure Databricks 【发布时间】:2020-07-25 18:50:37 【问题描述】:

我有指向 Azure 中的存储帐户的数据块,但该区域不正确。现在我想更改它并将其指向不同的存储帐户。我使用了 mount 选项,代码如下

dbutils.fs.mount(
    source = "wasbs://" + mountname + "@" + storageAccount + ".blob.core.windows.net",
    mount_point = root + mountname ,
    extra_configs = "fs.azure.account.key." + storageAccount + ".blob.core.windows.net":dbutils.secrets.get(scope = "", key = ""))

这可以正常执行,但是一旦我使用 %fs ls dbfs:/mnt/ 列出目录,它就会显示旧存储帐户的目录。

如果可能的话,请告诉我如何实现这一目标?

【问题讨论】:

【参考方案1】:

您需要做的只是卸载现有的存储帐户并使用您所指的不同存储帐户的正确存储帐户安装它。

参照新的存储帐户创建一个新的挂载点。

卸载挂载点:

dbutils.fs.unmount("/mnt/<mountname>")

要装载 Blob 存储容器或容器内的文件夹,请使用以下命令:

dbutils.fs.mount(
  source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net/<directory-name>",
  mountPoint = "/mnt/<mount-name>",
  extraConfigs = Map("<conf-key>" -> dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")))

【讨论】:

感谢您的回复,我有多个挂载点,我只卸载其中一个。当我卸载所有并安装新的时,它运行良好。感谢您的回答。 很高兴知道它有帮助。

以上是关于在 Azure Databricks 中编辑 Azure 存储帐户的主要内容,如果未能解决你的问题,请参考以下文章

更改同一单元格中的魔术标签 - Azure Databricks

Azure Databricks:如何在 Databricks 群集中添加 Spark 配置

Azure 函数中的 Az.Functions 模块引发错误

在 Azure 中检查 Databricks 运行时的版本

Azure Databricks 的 Azure DevOps 管道

为啥 Azure Databricks 需要将数据存储在 Azure 的临时存储中