Gerenciar dependências do Python para pipelines do Delta Live Tables
O Delta Live Tables oferece suporte a dependências externas em 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. - Importar módulos ou bibliotecas do código-fonte armazenado em arquivos de espaço de trabalho. Confira Importar módulos do Python de pastas Git ou arquivos de workspace.
O Delta Live Tables também dá suporte ao uso de scripts de inicialização globais e com escopo de cluster. No entanto, essas dependências externas, principalmente os scripts de inicialização, aumentam o risco de problemas com atualizações de runtime. Para mitigar esses riscos, minimize o uso de scripts de inicialização em seus pipelines. Se o processamento exigir scripts de inicialização, automatize o teste do pipeline para detectar problemas com antecedência. Se você usa scripts de inicialização, a Databricks recomenda aumentar sua frequência de teste.
Importante
Como bibliotecas JVM não têm suporte em pipelines de Tabelas Dinâmicas Delta, não use um script de inicialização para instalar bibliotecas JVM. No entanto, você pode instalar outros tipos de biblioteca, como bibliotecas do Python, com um script de inicialização.
Bibliotecas Python
Para especificar bibliotecas Python externas, use o comando magic %pip install
. Quando uma atualização é iniciada, Delta Live Tables executam todas as células que contêm um comando %pip install
antes de executar qualquer definição de tabela. Cada bloco de anotações Python incluído no pipeline compartilha um ambiente de biblioteca e tem acesso a todas as bibliotecas instaladas.
Importante
- Os comandos
%pip install
devem estar em uma célula separada na parte superior do notebook do pipeline do Delta Live Tables. Não inclua nenhum outro código em células que contenham comandos%pip install
. - 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á definí-las em pipelines diferentes.
O seguinte exemplo instala a biblioteca numpy
e a torna globalmente disponível para qualquer notebook Python no pipeline:
%pip install simplejson
Para instalar um pacote wheel do Python, adicione o caminho do pacote wheel do Python ao comando %pip install
. Os pacotes de roda do Python instalados estão disponíveis para todas as tabelas no pipeline. O exemplo a seguir instala um arquivo wheel do Python chamado dltfns-1.0-py3-none-any.whl
do diretório /dbfs/dlt/
do DBFS:
%pip install /dbfs/dlt/dltfns-1.0-py3-none-any.whl
Consulte Instalar um pacote wheel do Python com %pip.
Posso usar bibliotecas Scala ou Java em um pipeline do Delta Live Tables?
Não, o Delta Live Tables dá suporte apenas a SQL e Python. Não é possível usar bibliotecas JVM em um pipeline. A instalação de bibliotecas JVM causará comportamento imprevisível e poderá sofrer interrupções com futuras versões do Delta Live Tables. Se o pipeline usar um script de inicialização, você também deverá garantir que as bibliotecas JVM não sejam instaladas pelo script.