O que são scripts de inicialização?
Um init script (script de inicialização) é um script shell que é executado durante o startup de cada nó de cluster antes de o driver Apache Spark ou executor JVM começar. Este artigo fornece recomendações para informações de script de inicialização e configuração, caso o senhor precise usá-las.
Recomendações para o script de inicialização
Databricks recomenda o uso do recurso de plataforma integrada em vez do script de inicialização sempre que possível. O uso generalizado do script de inicialização pode retardar a migração para novas versões do Databricks Runtime e impedir a adoção de algumas otimizações do Databricks.
Se o senhor precisar migrar do script de inicialização em DBFS, consulte Migrar script de inicialização de DBFS.
O recurso Databricks a seguir aborda alguns dos casos de uso comuns do script de inicialização:
- Use as políticas do site compute para definir propriedades do sistema, variáveis ambientais e parâmetros de configuração do site Spark. Consulte a referência da política de computação.
- Adicionar biblioteca à política de cluster. Consulte Adicionar biblioteca a uma política.
Se o senhor precisar usar o script de inicialização:
- Gerenciar o script de inicialização usando as políticas compute ou o script de inicialização com escopo de cluster em vez do script de inicialização global. Consulte init script types.
- Gerenciar a instalação da biblioteca para ambientes de produção e interativos usando as políticas do site compute. Não instale o biblioteca usando o script de inicialização.
- Use o modo de acesso padrão (antigo modo de acesso compartilhado) para todas as cargas de trabalho. Use somente o modo de acesso dedicado (antigo modo de acesso de usuário único) se a funcionalidade necessária não for suportada pelo modo de acesso padrão.
- Use as novas versões do Databricks Runtime e o Unity Catalog para todas as cargas de trabalho.
A tabela a seguir fornece recomendações organizadas por versão do Databricks Runtime e habilitação do Unity Catalog.
ambiente | Recomendação |
---|---|
Databricks Runtime 13.3 LTS e acima com Unity Catalog | Armazene o script de inicialização em Unity Catalog volumes. |
Databricks Runtime 11.3 LTS e acima sem Unity Catalog | Armazene o script de inicialização como arquivosworkspace. (O limite de tamanho do arquivo é de 500 MB). |
Databricks Runtime 10.4 LTS e abaixo | Armazene o script de inicialização usando o armazenamento de objetos na nuvem. |
Quais são os tipos de script de inicialização suportados pelo Databricks?
Databricks oferece suporte a dois tipos de script de inicialização: com escopo de cluster e global, mas recomenda-se o uso de script de inicialização com escopo de cluster.
- clustering-scoped : execução em todos os clusters configurados com o script. Esta é a maneira recomendada para executar um init script. Consulte script de inicialização com escopo de cluster.
- Global : execução em todos os clusters no site workspace configurados com modo de acesso dedicado ou 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 workspace podem criar um script de inicialização global. Consulte Script de inicialização global.
Sempre que você alterar qualquer tipo de init script, será necessário reiniciar todos os clusters afetados pelo script.
Execução do script de inicialização global antes do script de inicialização com escopo de cluster.
Execução de script de inicialização global legado e com nome de cluster legado antes de outro script de inicialização. Esses scripts de inicialização estão no fim da vida útil, mas podem estar presentes no espaço de trabalho criado antes de 21 de fevereiro de 2023. Consulte Script de inicialização nomeado por cluster (legado) e Script de inicialização global (legado).
Onde o script de inicialização pode ser instalado?
O senhor pode armazenar e configurar o script de inicialização a partir de arquivos workspace, volumes Unity Catalog e armazenamento de objetos na nuvem, mas o script de inicialização não é compatível com todas as configurações de clustering e nem todos os arquivos podem ser referenciados a partir do script de inicialização. Para obter recomendações de ambiente para o script de inicialização, consulte Recomendações para o script de inicialização.
A tabela a seguir indica o suporte ao script de inicialização com base no local de origem e no modo de acesso ao clustering. A versão do Databricks Runtime listada é a versão mínima necessária para usar a combinação. Para obter informações sobre os modos de acesso ao clustering, consulte Modos de acesso.
O modo de acesso padrão exige que um administrador adicione o script de inicialização a um allowlist
. Consulte Allowlist biblioteca e script de inicialização em compute 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 do espaço de trabalho | Não suportado | Todas as versões suportadas do Databricks Runtime. Nas versões abaixo 11.3 LTS, o script de inicialização que faz referência a outros arquivos workspace não é compatível. | Todas as versões suportadas do Databricks Runtime. |
Volumes | 13.3 LTS e acima | 13.3 LTS e acima | Não suportado |
Armazenamento em nuvem | 13.3 LTS e acima | Todas as versões suportadas do Databricks Runtime | Todas as versões suportadas do Databricks Runtime |
Migrar o script de inicialização de DBFS
O script init em DBFS chegou ao fim da vida útil e não pode mais ser usado. O senhor deve migrar seu script de inicialização para um local compatível antes de começar compute. Armazene o script de inicialização em Unity Catalog Volumes, como arquivos workspace ou no armazenamento de objetos na nuvem.
Os usuários que precisam migrar o script de inicialização de DBFS podem usar o seguinte guia. Verifique se você identificou o alvo correto para sua configuração. Consulte Recomendações para o script de inicialização.