Databricks CLI
Go to file
Andrew Nester 12368e3382
Added transformation mutator for Python wheel task for them to work on DBR <13.1 (#635)
## Changes
***Note: this PR relies on sync.include functionality from here:
https://github.com/databricks/cli/pull/671***

Added transformation mutator for Python wheel task for them to work on
DBR <13.1

Using wheels upload to Workspace file system as cluster libraries is not
supported in DBR < 13.1

In order to make Python wheel work correctly on DBR < 13.1 we do the
following:
1. Build and upload python wheel as usual
2. Transform python wheel task into special notebook task which does the
following
a. Installs all necessary wheels with %pip magic
b. Executes defined entry point with all provided parameters
3. Upload this notebook file to workspace file system
4. Deploy transformed job task

This is also beneficial for executing on existing clusters because this
notebook always reinstall wheels so if there are any changes to the
wheel package, they are correctly picked up

## Tests
bundle.yml

```yaml
bundle:
  name: wheel-task

workspace:
  host: ****

resources:
  jobs:
    test_job:
      name: "[${bundle.environment}] My Wheel Job"
      tasks:
        - task_key: TestTask
          existing_cluster_id: "***"
          python_wheel_task:
            package_name: "my_test_code"
            entry_point: "run"
            parameters: ["first argument","first value","second argument","second value"]
          libraries:
          - whl: ./dist/*.whl
```

Output
```
andrew.nester@HFW9Y94129 wheel % databricks bundle run test_job
Run URL: ***

2023-08-03 15:58:04 "[default] My Wheel Job" TERMINATED SUCCESS 
Output:
=======
Task TestTask:
Hello from my func
Got arguments v1:
['python', 'first argument', 'first value', 'second argument', 'second value']

```
2023-08-30 12:21:39 +00:00
.codegen Bump OpenAPI specification & Go SDK Version (#624) 2023-08-01 12:33:19 +00:00
.github Upgraded Go version to 1.21 (#664) 2023-08-15 13:50:40 +00:00
.vscode Add a foundation for built-in templates (#685) 2023-08-25 09:03:42 +00:00
bundle Added transformation mutator for Python wheel task for them to work on DBR <13.1 (#635) 2023-08-30 12:21:39 +00:00
cmd Fixed --environment flag (#705) 2023-08-28 17:05:55 +00:00
docs Rename bricks -> databricks (#389) 2023-05-16 18:35:39 +02:00
folders Don't depend on working directory in folders.FindDirWithLeaf (#54) 2022-09-14 15:08:55 +02:00
internal Correct name for force acquire deploy flag (#656) 2023-08-15 19:03:43 +00:00
libs Add a foundation for built-in templates (#685) 2023-08-25 09:03:42 +00:00
python Fixed path joining in FindFilesWithSuffixInPath (#704) 2023-08-29 08:26:26 +00:00
.codegen.json Integrate with auto-release infra (#581) 2023-07-18 17:48:35 +02:00
.gitattributes Bump OpenAPI specification & Go SDK Version (#624) 2023-08-01 12:33:19 +00:00
.gitignore Add a foundation for built-in templates (#685) 2023-08-25 09:03:42 +00:00
.goreleaser.yaml Rename bricks -> databricks (#389) 2023-05-16 18:35:39 +02:00
CHANGELOG.md Release v0.203.2 (#694) 2023-08-24 11:04:20 +00:00
LICENSE Create LICENSE (#467) 2023-06-14 14:38:52 +00:00
Makefile goreleaser deprecated --rm-dist in favor of --clean (#349) 2023-04-20 11:59:34 +02:00
NOTICE Create NOTICE (#468) 2023-06-14 20:05:08 +02:00
README.md Fix typo in README.md (#510) 2023-06-21 20:26:09 +02:00
go.mod Upgraded Go version to 1.21 (#664) 2023-08-15 13:50:40 +00:00
go.sum Upgraded Go version to 1.21 (#664) 2023-08-15 13:50:40 +00:00
main.go Remove dependency on global state for remaining commands (#613) 2023-07-27 10:03:08 +00:00
main_test.go Remove dependency on global state in generated commands (#595) 2023-07-25 20:19:07 +02:00

README.md

Databricks CLI

build

This project is in Public Preview.

Documentation about the full REST API coverage is available in the docs folder.

Documentation is available at https://docs.databricks.com/dev-tools/cli/databricks-cli.html.

Installation

This CLI is packaged as a dependency-free binary executable and may be located in any directory. See https://github.com/databricks/cli/releases for releases and the docs pages for installation instructions.

Authentication

This CLI follows the Databricks Unified Authentication principles.

You can find a detailed description at https://github.com/databricks/databricks-sdk-go#authentication.