Partilhar via


O que são scripts init?

Um script init (script de inicialização) é um shell script que é executado durante a inicialização de cada nó de cluster antes que o driver Apache Spark ou a JVM executora seja iniciado. Este artigo fornece recomendações para scripts de inicialização e informações de configuração, se você precisar usá-los.

Recomendações para scripts init

O Databricks recomenda o uso de recursos internos da plataforma em vez de scripts de inicialização sempre que possível. O uso generalizado de scripts init pode retardar a migração para novas versões do Databricks Runtime e impedir a adoção de algumas otimizações do Databricks.

Importante

Se precisar migrar de scripts de inicialização no DBFS, consulte Migração de scripts de inicialização do DBFS.

Os seguintes recursos do Databricks abordam alguns dos casos de uso comuns para scripts init:

Se você precisar usar scripts init:

  • Gestione scripts de inicialização usando políticas de computação ou scripts de inicialização com escopo de cluster em vez de scripts de inicialização globais. Consulte os tipos de script init.
  • Gerencie a instalação de bibliotecas para ambientes de produção e interativos usando políticas de computação. Não instale bibliotecas usando scripts init. Consulte políticas de computação.
  • Use o modo de acesso padrão (anteriormente modo de acesso compartilhado) para todas as cargas de trabalho. Use apenas o modo de acesso dedicado (anteriormente modo de acesso de usuário único) se a funcionalidade necessária não for suportada pelo modo de acesso padrão.
  • Use novas versões do Databricks Runtime e do Unity Catalog para todas as cargas de trabalho.

A tabela a seguir fornece recomendações organizadas pela versão do Databricks Runtime e pela ativação do Unity Catalog.

Ambiente Recomendação
Databricks Runtime 13.3 LTS e superiores com Unity Catalog Armazene scripts de inicialização no Unity Catalog volumes.
Databricks Runtime 11.3 LTS e versões posteriores sem Unity Catalog Armazene scripts de inicialização como arquivos de espaço de trabalho. (O limite de tamanho do ficheiro é de 500 MB).
Databricks Runtime 10.4 LTS ou anteriores Armazene scripts de inicialização usando o armazenamento de objetos na nuvem.

Que tipos de scripts de inicialização são suportados pelo Azure Databricks?

O Azure Databricks dá suporte a dois tipos de scripts de inicialização: com escopo de cluster e global, mas o uso de scripts de inicialização com escopo de cluster é recomendado.

  • Cluster-scoped: executado em cada cluster configurado com o script. Esta é a maneira recomendada de executar um script init. Consulte os Scripts de inicialização com escopo de cluster.
  • Global: executado em todos os clusters no espaço de trabalho configurado com o modo de acesso dedicado ou o modo de acesso compartilhado sem isolamento. Esses scripts de inicialização podem causar problemas inesperados, como conflitos de biblioteca. Somente os usuários administradores do espaço de trabalho podem criar scripts de inicialização global. Consulte scripts de inicialização global.

Sempre que você alterar qualquer tipo de script init, deverá reiniciar todos os clusters afetados pelo script.

Os scripts de inicialização globais são executados antes dos scripts de inicialização de âmbito de cluster.

Importante

Os scripts init herdados globais e os scripts init herdados nomeados por cluster são executados antes de outros scripts init. Esses scripts init foram descontinuados, mas podem estar presentes em espaços de trabalho criados antes de 21 de fevereiro de 2023. Consulte Scripts de inicialização nomeados por cluster (legado) e Scripts de inicialização global (legado).

Onde os scripts init podem ser instalados?

Você pode armazenar e configurar scripts init a partir de arquivos de espaço de trabalho, volumes do Unity Catalog e armazenamento de objetos na nuvem, mas os scripts init não são suportados em todas as configurações de cluster e nem todos os arquivos podem ser referenciados a partir de scripts init. Para obter recomendações de ambiente para scripts de init, consulte Recomendações para scripts de init.

A tabela a seguir indica o suporte para scripts init com base no local de origem e no modo de acesso ao cluster. A versão do Databricks Runtime listada é a versão mínima necessária para usar a combinação. Para obter informações sobre modos de acesso a cluster, consulte Modos de acesso.

Nota

O modo de acesso padrão requer que um administrador adicione scripts de inicialização a um allowlist. Consulte bibliotecas de Lista de Permissões e scripts de inicialização em computadores com o modo de acesso padrão (anteriormente modo de acesso compartilhado).

Modo de acesso padrão Modo de acesso único Modo de acesso compartilhado sem isolamento
Arquivos de espaço de trabalho Não suportado Todas as versões suportadas do Databricks Runtime.
Em versões abaixo de 11.3 LTS, scripts init que fazem referência a outros arquivos de espaço de trabalho não são suportados.
Todas as versões suportadas do Databricks Runtime.
Volumes 13.3 LTS ou posterior 13.3 LTS ou posterior Não suportado
Armazenamento na nuvem 13.3 LTS ou posterior Todas as versões suportadas do Databricks Runtime Todas as versões suportadas do Databricks Runtime

Migrar scripts de inicialização do DBFS

Aviso

Os scripts de inicialização no DBFS chegaram ao fim da vida útil e não podem mais ser usados. Você deve migrar seus scripts de inicialização para um local suportado antes de iniciar a computação. Armazene scripts de inicialização em Unity Catalog Volumes, como ficheiros de espaço de trabalho ou no armazenamento de objetos na nuvem.

Os usuários que precisam migrar scripts init do DBFS podem usar os guias a seguir. Certifique-se de que identificou o destino correto para a sua configuração. Consulte as Recomendações para scripts de inicialização.