Gerenciar dependências Python para pipelines DLT
A DLT suporta dependências externas nos seus pipelines. O Databricks recomenda o uso de um dos dois padrões para instalar pacotes Python:
- Use o comando
%pip install
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 ficheiros de espaço de trabalho.
A DLT também suporta o uso de scripts de inicialização globais e de âmbito de cluster. No entanto, essas dependências externas, particularmente scripts de inicialização, aumentam o risco de problemas com atualizações durante a 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 bibliotecas JVM não são suportadas em pipelines DLT, 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 comando %pip install
magic. Quando uma atualização é iniciada, a DLT executa todas as células que contêm um comando %pip install
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
comandos devem estar em uma célula separada na parte superior do bloco de anotações de pipeline DLT. Não inclua nenhum outro código nas células que contenham os comandos%pip install
. - Devido a que cada notebook num pipeline partilha um ambiente de biblioteca, não é possível definir diferentes versões de biblioteca num único pipeline. Se o processamento exigir versões de biblioteca diferentes, você deverá defini-las em pipelines diferentes.
O exemplo a seguir instala a biblioteca numpy
e torna-a disponível globalmente para qualquer notebook Python no pipeline.
%pip install simplejson
Para instalar um pacote de roda Python, adicione o caminho da roda Python ao comando %pip install
. 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 chamado dltfns-1.0-py3-none-any.whl
de um volume do Catálogo Unity:
%pip install /Volumes/my_catalog/my_schema/my_dlt_volume/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 DLT?
Não, a DLT 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á causar falhas em versões futuras da DLT. Se o pipeline usar um script init, você também deverá garantir que as bibliotecas JVM não sejam instaladas pelo script.