Use um artefato particular em um pacote
Arquivos e artefatos armazenados em ferramentas de terceiros, como o JFrog Artifactory, ou em repositórios privados podem precisar fazer parte de seus Databricks ativo Bundles. Este artigo descreve como lidar com esses arquivos. Para obter informações sobre Databricks ativo Bundles, consulte O que são Databricks ativo Bundles?
Para obter um exemplo de pacote que usa uma roda privada, consulte o repositório bundle-examples do GitHub.
Dica
Se estiver usando o Notebook, o senhor pode instalar as rodas Python de um repositório privado em um Notebook e, em seguida, adicionar um notebook_task
ao Job em seu pacote. NotebookConsulte -scoped Python biblioteca.
Faça o download do artefato localmente
Para gerenciar um artefato privado usando Databricks ativo Bundles, primeiro o senhor precisa download localmente. Em seguida, o senhor pode fazer referência a ele em seu pacote e implantá-lo no workspace como parte do pacote, ou pode upload para Unity Catalog e fazer referência a ele em seu pacote.
Por exemplo, o comando a seguir downloads um arquivo Python wheel no diretório dist
:
pip download -d dist my-wheel==1.0
O senhor também pode download um pacote PyPI privado e, em seguida, copiá-lo para o diretório dist
.
export PYPI_TOKEN=<YOUR TOKEN>
pip download -d dist my-package==1.0.0 --index-url https://$PYPI_TOKEN@<package-index-url> --no-deps
(Opcional) Faça o upload do artefato para o Unity Catalog
Depois de fazer o download do artefato, o senhor pode, opcionalmente, copiar o artefato de download para o volume Unity Catalog usando o Databricks CLI, para que ele possa ser referenciado no pacote em vez de ser carregado no workspace quando o pacote for implantado. O exemplo a seguir copia uma roda para um volume do Unity Catalog:
databricks fs cp my-wheel-1.0-*.whl dbfs:/Volumes/myorg_test/myorg_volumes/packages
Dica
Databricks O ativo Bundles irá automaticamente upload todos os artefatos referenciados no bundle para Unity Catalog se o senhor definir artifact_path
na configuração do bundle como um caminho de volumes Unity Catalog.
Faça referência ao artefato
Para incluir o artefato em seu pacote, faça referência a ele em sua configuração.
O exemplo de pacote a seguir faz referência a um arquivo de roda no diretório dist
em um trabalho. Essa configuração carrega a roda para o site workspace quando o pacote é implantado.
resources:
jobs:
demo-job:
name: demo-job
tasks:
- task_key: python-task
new_cluster:
spark_version: 13.3.x-scala2.12
node_type_id: Standard_D4s_v5
num_workers: 1
spark_python_task:
python_file: ../src/main.py
libraries:
- whl: ../dist/my-wheel-1.0-*.whl
Se o senhor fizer upload do artefato para um volume Unity Catalog, configure o trabalho para fazer referência a ele nesse local:
resources:
jobs:
demo-job:
name: demo-job
tasks:
- task_key: python-task
new_cluster:
spark_version: 13.3.x-scala2.12
node_type_id: Standard_D4s_v5
num_workers: 1
spark_python_task:
python_file: ../src/main.py
libraries:
- whl: /Volumes/myorg_test/myorg_volumes/packages/my-wheel-1.0-py3-none-any.whl
Para um Python wheel, ele pode, alternativamente, ser referenciado em um python_wheel_task
para um Job:
resources:
jobs:
demo-job:
name: demo-job
tasks:
- task_key: wheel_task
python_wheel_task:
package_name: my_package
entry_point: entry
job_cluster_key: Job_cluster
libraries:
- whl: ../dist/my-wheel-1.0-*.whl