覆盖 databricks 资源包中特定目标的所有任务的库设置

问题描述 投票:0回答:1

如何覆盖特定目标中所有任务的任务设置,而不必通过其任务键单独命名每个任务?

我知道我可以执行以下操作来覆盖我的

libraries
目标中的 特定任务的
dev
设置。但我需要(重复地)列出工作中的每一项任务,这可能会很长。

有没有办法覆盖我的目标中所有任务的

libraries
设置?
task_key
的通配符运算符不起作用/似乎没有实现。

targets:
  dev:
    mode: development
    workspace:
      host: https://xxx-xxxxxx.x.azuredatabricks.net
    resources:
      jobs:
        my_job_name:
          tasks:
            - task_key: ingestion
              libraries:
                - whl: ./dist/*.whl
                - pypi:
                    package: some-package==${var.some_package_version}
                    repo: https://pkgs.dev.azure.com/stihl/xxxx/_packaging/xxx/pypi/simple/
            - task_key: preparation
              libraries:
                - whl: ./dist/*.whl
                - pypi:
                    package: some-package==${var.some_package_version}
                    repo: https://pkgs.dev.azure.com/stihl/xxxx/_packaging/xxx/pypi/simple/
databricks databricks-asset-bundle
1个回答
0
投票

我能够通过 yaml 锚定来实现这一目标。感觉有点笨拙,但似乎有效并减少了样板文件。

我将只在此处的答案中保留 yaml 的重要部分。重要的部分是

libs
属性,以及如何在
task_key
下引用它。

---
# deployment.yml
---
resources:
  jobs:
    example-dab-workflow:
      libs: &libs
        libraries:
          - pypi:
              package: llama-index==0.10.43
          - pypi:
              package: pytest==8.3.2
          - pypi:
              package: transformers==4.41.1
          - whl: ../dist/*.whl

      name:  "example-dab"

      tasks:
        - task_key: example_task
          existing_cluster_id: abc1234-foo999-barre
          python_wheel_task:
            package_name: example_dab
            entry_point: "example_entrypoint"
          <<: *libs
© www.soinside.com 2019 - 2024. All rights reserved.