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 você precisar migrar de scripts init no DBFS, consulte Migrar scripts init do DBFS.

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

  • Use políticas de computação para definir propriedades do sistema, variáveis ambientais e parâmetros de configuração do Spark. Consulte Referência da política de computação.
  • Adicione bibliotecas a políticas de cluster. Consulte Adicionar bibliotecas a uma política.

Se você precisar usar scripts init:

  • Gerencie scripts init usando políticas de computação ou scripts init com escopo de cluster em vez de scripts init 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.
  • Use o modo de acesso compartilhado para todas as cargas de trabalho. Use apenas o modo de acesso de usuário único se a funcionalidade necessária não for suportada pelo modo de acesso compartilhado.
  • 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.

Environment Recomendação
Databricks Runtime 13.3 LTS e superior com Unity Catalog Armazene scripts de inicialização em volumes do Catálogo Unity.
Databricks Runtime 11.3 LTS e superior 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 e inferior 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.

  • Escopo do cluster: executado em todos os clusters configurados com o script. Esta é a maneira recomendada de executar um script init. Consulte Usar scripts init com escopo de cluster.
  • Global: executado em todos os clusters no espaço de trabalho configurado com o 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 espaço de trabalho podem criar scripts de inicialização global. Consulte Usar 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 com escopo de cluster.

Importante

Os scripts init nomeados por cluster herdados são executados antes de outros scripts init. Esses scripts init estão em fim de vida, 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 init, consulte Recomendações para scripts 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 compartilhado requer que um administrador adicione scripts de inicialização a um allowlistarquivo . Consulte Bibliotecas Allowlist e scripts init em computação compartilhada.

Modo de acesso compartilhado 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 e superior 13.3 LTS e superior Não suportado
Armazenamento na nuvem 13.3 LTS e superior Todas as versões suportadas do Databricks Runtime Todas as versões suportadas do Databricks Runtime

Migrar scripts init 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 init em Unity Catalog Volumes, como arquivos 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 Recomendações para scripts init.