O que são init script?
Um init script (script de inicialização) é um script de shell que é executado durante startup de cada nó do cluster antes de o driver do Apache Spark ou o 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 init script
A 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.
Importante
Se precisar migrar do init script no DBFS, consulte Migrar init script do DBFS.
O seguinte recurso do Databricks aborda alguns dos casos de uso comuns para init script:
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 de políticacompute .
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 políticas compute ou script de inicialização com escopo de clusters em vez de script de inicialização global. Consulte init script types.
Gerenciar a instalação de bibliotecas 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 compartilhado para todas as cargas de trabalho. Use o modo de acesso de usuário único somente se a funcionalidade necessária não for compatível com o modo de acesso compartilhado.
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 arquivos de espaço de trabalho. (O limite de tamanho do arquivo é de 500 MB). |
Databricks Runtime 10.4 LTS e abaixo |
Armazene init script usando armazenamento de objetosclouds . |
Quais tipos de init script o Databricks oferece suporte?
O Databricks oferece suporte a dois tipos de script de inicialização: com escopo de clusters e global, mas recomenda-se o uso de script de inicialização com escopo de clusters.
Escopo do cluster: execução em todos os cluster 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 workspace configurados com modo de acesso de usuário único 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, deverá reiniciar todos os clusters afetados pelo script.
Execução do script de inicialização global antes do script de inicialização com escopo de clusters.
Importante
Execução de scripts de inicialização globais e nomeados por clusters legados antes de outros scripts 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 clusters (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 cloud, mas o script de inicialização não é compatível com todas as configurações cluster 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 aos clusters. 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 aos clusters, consulte Modos de acesso.
Observação
O modo de acesso compartilhado exige que um administrador adicione o script de inicialização a um allowlist
. Consulte a biblioteca Allowlist e o script de inicialização em computecompartilhado.
Modo de acesso compartilhado |
Modo de acesso único |
Modo de acesso compartilhado sem isolamento |
|
---|---|---|---|
workspace arquivos |
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 nuvens |
13.3 LTS e acima |
Todas as versões suportadas do Databricks Runtime |
Todas as versões suportadas do Databricks Runtime |
Migrar init script do DBFS
Aviso
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 cloud.
Os usuários que precisam migrar init script do DBFS podem usar o guia a seguir. Certifique-se de ter identificado o destino correto para sua configuração. Consulte Recomendações para init script.