Gerir as dependências do Python para os pipelines

O Lakeflow Spark Declarative Pipelines suporta dependências externas em seus pipelines. O Databricks recomenda o uso de um dos dois padrões para instalar pacotes Python:

  1. Use as configurações de Ambiente para adicionar pacotes ao ambiente de pipeline para todos os arquivos de origem em um pipeline.
  2. Importe módulos ou bibliotecas do código-fonte armazenado em arquivos de espaço de trabalho. Consulte Importar módulos Python de pastas Git ou ficheiros de espaço de trabalho.

Os pipelines que usam computação clássica também suportam scripts de init ao nível do cluster. O Lakeflow Spark Declarative Pipelines sem servidor não suporta scripts init. Em todos os casos, o Databricks recomenda usar as definições do Ambiente em vez dos scripts de iniciação, porque dependências externas, particularmente scripts de entrada, aumentam o risco de problemas com atualizações em tempo de execução. Se o seu processamento requer scripts de init, automatize os testes do seu pipeline para detetar problemas cedo, e o Databricks recomenda aumentar a frequência de testes.

Importante

Como as bibliotecas JVM não são suportadas em pipelines, não use um script de inicialização para instalar bibliotecas JVM. No entanto, podes instalar outros tipos de bibliotecas, como bibliotecas em Python, com um script de init.

bibliotecas Python

Para especificar bibliotecas Python externas, edite o ambiente para seu pipeline.

  1. No editor de pipeline, clique em Configurações.
  2. Em Ambiente de pipeline, selecione Ícone de lápis.Editar ambiente.
  3. Clique no ícone Mais.Adicionar dependência.
  4. Digite o nome da dependência. Databricks recomenda bloquear a versão da biblioteca. Por exemplo, para adicionar uma dependência na simplejson versão 3.19, digite simplejson==3.19.*.

Você também pode instalar um pacote de roda Python a partir de um volume do Catálogo Unity, especificando seu caminho, como /Volumes/my_catalog/my_schema/my_ldp_volume/ldpfns-1.0-py3-none-any.whl.

Note

Os pipelines não suportam reiniciar manualmente o processo Python com dbutils.library.restartPython(). Declare todas as dependências de Python através das definições do Ambiente em vez de as instalar ou recarregar em tempo de execução. Usar as definições de Ambiente também permite que os pipelines reutilizem bibliotecas em cache entre as execuções em vez de as reinstalar em todas as execuções.

Versão ambiental

Por predefinição, a versão da linguagem Python e o conjunto de bibliotecas pré-instaladas disponíveis para o seu pipeline provêm da versão atual do canal do Databricks Runtime. Consulte as notas de versão do Lakeflow Spark Declarative Pipelines e o processo de atualização de versão para conhecer as versões atuais e as listas de pacotes por runtime.

Importante

Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Visualizações . Ver Gerir as pré-visualizações de Azure Databricks.

Para fixar a versão da linguagem Python e o conjunto de bibliotecas pré-instaladas de forma independente das atualizações do Databricks Runtime, configure uma versão de ambiente no pipeline. Enquanto uma versão do ambiente está definida, as atualizações do Databricks em tempo de execução não alteram a versão da tua linguagem Python nem as versões pré-instaladas da biblioteca, e quaisquer dependências externas que adiciones através das definições Ambiente são sobrepostas a esta base. Consulte Configurar versões de ambiente para pipelines.

Suporte para Scala e bibliotecas Java

Não, os pipelines suportam apenas SQL e Python. Não é possível usar bibliotecas JVM em um pipeline. A instalação de bibliotecas JVM causa comportamentos imprevisíveis e pode interferir com futuras versões do Lakeflow Spark Declarative Pipelines. Se o pipeline usar um script init, você também deverá garantir que as bibliotecas JVM não sejam instaladas pelo script.