Gerenciar dependências Python para pipelines Delta Live Tables
O Delta Live Tables suporta dependências externas em seus pipelines. O Databricks recomenda o uso de um dos dois padrões para instalar pacotes Python:
- Use o
%pip install
comando para instalar pacotes para todos os arquivos de origem em um pipeline. - 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 arquivos de espaço de trabalho.
O Delta Live Tables também suporta o uso de scripts init globais e com escopo de cluster. No entanto, essas dependências externas, particularmente scripts init, aumentam o risco de problemas com atualizações de tempo de execução. Para reduzir esses riscos, minimize o uso de scripts init em seus pipelines. Se o seu processamento exigir scripts init, automatize os testes do seu pipeline para detetar problemas antecipadamente. Se você usar scripts init, o Databricks recomenda aumentar a frequência de teste.
Importante
Como as bibliotecas JVM não são suportadas nos pipelines Delta Live Tables, não use um script init para instalar bibliotecas JVM. No entanto, você pode instalar outros tipos de biblioteca, como bibliotecas Python, com um script init.
Bibliotecas Python
Para especificar bibliotecas Python externas, use o %pip install
comando magic. Quando uma atualização é iniciada, o Delta Live Tables executa todas as células que contêm um %pip install
comando antes de executar qualquer definição de tabela. Cada notebook Python incluído no pipeline compartilha um ambiente de biblioteca e tem acesso a todas as bibliotecas instaladas.
Importante
%pip install
os comandos devem estar em uma célula separada na parte superior do seu bloco de anotações de pipeline Delta Live Tables. Não inclua nenhum outro código em células que contenham%pip install
comandos.- Como cada bloco de anotações em um pipeline compartilha um ambiente de biblioteca, não é possível definir diferentes versões de biblioteca em um único pipeline. Se o processamento exigir versões de biblioteca diferentes, você deverá defini-las em pipelines diferentes.
O exemplo a seguir instala a numpy
biblioteca e a torna globalmente disponível para qualquer bloco de anotações Python no pipeline:
%pip install simplejson
Para instalar um pacote de roda Python, adicione o %pip install
caminho da roda Python ao comando. Os pacotes de roda Python instalados estão disponíveis para todas as tabelas no pipeline. O exemplo a seguir instala um arquivo de roda Python nomeado dltfns-1.0-py3-none-any.whl
a partir do diretório /dbfs/dlt/
DBFS :
%pip install /dbfs/dlt/dltfns-1.0-py3-none-any.whl
Consulte Instalar um pacote de roda Python com %pip.
Posso usar bibliotecas Scala ou Java em um pipeline Delta Live Tables?
Não, Delta Live Tables suporta apenas SQL e Python. Não é possível usar bibliotecas JVM em um pipeline. A instalação de bibliotecas JVM causará um comportamento imprevisível e poderá romper com versões futuras do Delta Live Tables. Se o pipeline usar um script init, você também deverá garantir que as bibliotecas JVM não sejam instaladas pelo script.