【问题标题】:Clear Databricks Artifact Location清除 Databricks 工件位置
【发布时间】:2023-01-30 17:21:57
【问题描述】:

我正在使用 dbx cli 将我的工作流程部署到数据块中。我在下面配置了.dbx/project.json

{
    "environments": {
        "default": {
            "profile": "test",
            "storage_type": "mlflow",
            "properties": {
                "workspace_directory": "/Shared/dbx/projects/test",
                "artifact_location": "dbfs:/dbx/test"
            }
        }
    },
    "inplace_jinja_support": false,
    "failsafe_cluster_reuse_with_assets": false,
    "context_based_upload_for_execute": false
}

每次当我运行dbx deploy ...时,它都会将我的任务脚本存储到带有一些哈希文件夹的 DBFS 中。如果我运行 100 次dbx deploy ...,它会创建 100 个哈希文件夹来存储我的工件。

问题

  1. 如何清理文件夹?
  2. 是否有仅保留最后 X 个文件夹的保留策略或滚动策略?
  3. 有没有办法在我们每次部署时重复使用同一个文件夹?

    如您所见,每当我们运行dbx deploy 时都会生成很多文件夹。我们只想使用最新的,不再需要旧的

【问题讨论】:

    标签: databricks databricks-dbx


    【解决方案1】:

    我终于找到了一种删除旧 DBFS 文件的方法。我刚刚在运行部署之前运行了dbfs rm -r dbfs:/dbx/test。这种方法并不理想,因为如果您有正在运行的集群或待启动的集群,它将因先前的哈希文件夹被删除而失败。我没有依赖 DBFS,而是将我的工作流程配置为使用 GIT,这样我就可以删除 DBFS 数据而不用担心任何作业正在使用它。奇怪的是,尽管在使用 GIT 作为工作区时没有工件上传到 DBFS 文件系统,但 databricks 仍然生成哈希文件夹

    【讨论】:

      【解决方案2】:

      dbx 的作者在这里。

      有一个内置命令可以清理工作区和工件位置:

      dbx destroy ...
      

      请在运行此命令之前仔细阅读the documentation

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-09-20
        • 2020-09-11
        • 2016-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-20
        相关资源
        最近更新 更多