Support extras for `tasks.libraries.whl` on classic clusters (follow-up to #1602)

Đang mở
#7,256 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
55/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
go, python
Lĩnh vực
backend, cli

Hướng nghiên cứu

Start by tracing how the CLI resolves tasks.libraries.whl paths during deployment and how it passes wheel library references to classic job clusters; compare that flow with the serverless dependencies handling cited in the issue. The report gives no source files or tests, so first locate those entry points and their tests. Done means a wheel reference with [my-extra] deploys and installs the extra on a classic cluster, while plain wheel references still work.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Hi, this is a follow-up to #1602. Extras on local wheels work now for serverless environment dependencies (#6291), which is great, but they dont work for tasks.libraries.whl, so jobs on classic job clusters cant use them.

We split our wheel into extras per domain, because we dont want every job to install libraries it does not need, and we want one pin in pyproject.toml instead of a second pin in the job config.

What we see:

  • whl: ./dist/*.whl[my-extra] fails at deploy with no files match pattern: dist/*.whl[my-extra]
  • whl: /Workspace/.../my_package-0.1.0-py3-none-any.whl[my-extra] deploys, but the library install on the cluster fails with "The library file does not exist or the user does not have permission to read the library file"
  • the same absolute path without [my-extra] installs fine, so it looks like the suffix is read as part of the file name

Minimal config:

artifacts:
  my_package:
    type: whl
    build: uv build --wheel
    path: .

resources:
  jobs:
    my_job:
      tasks:
        - task_key: main
          spark_python_task:
            python_file: ./main.py
          libraries:
            - whl: ./dist/*.whl[my-extra]
          new_cluster:
            spark_version: 18.0.x-scala2.13
            node_type_id: <any>
            num_workers: 0

Expected: the wheel installs with the extra, the same as ./dist/*.whl[my-extra] in environment dependencies on serverless.

Workarounds we know: move the job to serverless, or pin the extra libraries again as pypi libraries on the task, which brings back the 2 pins that drift.

If the second part is on the cluster library side and not the CLI, can u route it please?

CLI version: 1.21.0

Ngôn ngữ chính
Go
Star
416
Fork
256
Merge trung bình
1 ngày 22 giờ
Pull request đã merge (30 ngày)
206

Chuẩn bị môi trường

  • Có Dockerfile hoặc tệp Docker Compose
  • Có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của databricks/cli

Tất cả issue của databricks/cli

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.