¿Qué son los scripts de inicialización?
Un script de inicialización es un script de shell que se ejecuta durante el startup de cada nodo de clúster antes de que se inicie el controlador de Apache Spark o el ejecutor de JVM. En este artículo se proporcionan recomendaciones para scripts de inicialización e información de configuración si debe usarlos.
Recomendaciones para scripts de inicialización
Databricks recomienda usar características de plataforma integradas en lugar de scripts de inicialización siempre que sea posible. El uso generalizado de scripts de inicialización puede ralentizar la migración a nuevas versiones de Databricks Runtime y evitar la adopción de algunas optimizaciones de Databricks.
Importante
Si necesita migrar desde scripts de inicialización en DBFS, consulte Migrar scripts de inicialización desde DBFS.
Las siguientes características de Databricks abordan algunos de los casos de uso comunes de scripts de inicialización:
- Use directivas de proceso para establecer las propiedades del sistema, las variables de entorno y los parámetros de configuración de Spark. Consulte Referencia de directiva de proceso.
- Agregue bibliotecas a directivas de clúster. Consulte Agregar bibliotecas a una directiva.
Si debe usar scripts de inicialización:
- Administre scripts de inicialización mediante directivas de proceso o scripts de inicialización con ámbito de clúster en lugar de scripts de inicialización globales. Consulte tipos de script de inicialización.
- Administrar la instalación de la biblioteca para entornos de producción e interactivos mediante directivas de proceso. No instalar bibliotecas mediante scripts de inicialización.
- Use el modo de acceso compartido para todas las cargas de trabajo. Use solo el modo de acceso de usuario único si el modo de acceso compartido no admite la funcionalidad necesaria.
- Use las nuevas versiones de Databricks Runtime y el catálogo de Unity para todas las cargas de trabajo.
En la tabla siguiente se proporcionan recomendaciones organizadas por la versión de Databricks Runtime y la habilitación del catálogo de Unity.
Entorno | Recomendación |
---|---|
Databricks Runtime 13.3 LTS y versiones superiores con Unity Catalog | Almacene scripts de inicialización en volúmenes del catálogo de Unity. |
Databricks Runtime 11.3 LTS y superior sin Unity Catalog | Almacene scripts de inicialización como archivos de área de trabajo. (El límite de tamaño de archivo es de 500 MB). |
Databricks Runtime 10.4 LTS y versiones anteriores | Almacene scripts de inicialización mediante el almacenamiento de objetos en la nube. |
¿Qué tipos de scripts de inicialización admite Azure Databricks?
Azure Databricks admite dos tipos de scripts de inicialización: con ámbito de clúster y global, pero se recomiendan scripts de inicialización con ámbito de clúster.
- De ámbito de clúster: se ejecutan en todos los clústeres configurados con el script. Esta es la manera recomendada para ejecutar un script de inicialización. Consulta Scripts de inicialización de ámbito de clúster.
- Global: se ejecuta en todos los clústeres del área de trabajo configurada con el modo de acceso de usuario único o el modo de acceso compartido sin aislamiento. Estos scripts de inicialización pueden provocar incidencias inesperadas, como conflictos de biblioteca. Solo los usuarios administradores del área de trabajo pueden crear scripts de inicio globales. Consulte Scripts de inicialización globales.
Siempre que cambie cualquier tipo de script de inicialización, debe reiniciar todos los clústeres afectados por el script.
Los scripts de inicialización globales se ejecutan antes de los scripts de inicialización con ámbito de clúster.
Importante
Los scripts de inicialización globales heredados y con nombre de clúster heredados se ejecutan antes que otros scripts de inicialización. Estos scripts de inicialización están al final del ciclo de vida, pero pueden estar presentes en las áreas de trabajo creadas antes del 21 de febrero de 2023. Consulte scripts de inicialización con nombre de clúster (heredado ) y scripts de inicialización global (heredado).
¿Dónde se pueden instalar los scripts de inicialización?
Puede almacenar y configurar scripts de inicialización desde archivos de área de trabajo, volúmenes de Catálogo de Unity y almacenamiento de objetos en la nube, pero los scripts de inicialización no se admiten en todas las configuraciones del clúster y no se puede hacer referencia a todos los archivos desde scripts de inicialización. A fin de obtener recomendaciones de entorno para scripts de inicialización, vea Recomendaciones para scripts de inicialización.
En la tabla siguiente se indica la compatibilidad con scripts de inicialización en función de la ubicación de origen y el modo de acceso al clúster. La versión de Databricks Runtime enumerada es la versión mínima necesaria para usar la combinación. Para obtener información sobre los modos de acceso de clúster, consulte Modos de acceso.
Nota:
El modo de acceso compartido requiere que un administrador agregue scripts de inicialización a un allowlist
. Consulte Agregar a la lista de permitidos bibliotecas y scripts de inicialización en proceso compartido.
Modo de acceso compartido | Modo de acceso único | Modo de acceso compartido sin aislamiento | |
---|---|---|---|
Archivos del área de trabajo de | No compatible | Todas las versiones admitidas de Databricks Runtime. En las versiones inferiores a 11.3 LTS, no se admiten scripts de inicialización que hacen referencia a otros archivos del área de trabajo. |
Todas las versiones admitidas de Databricks Runtime. |
Volúmenes | 13.3 LTS y versiones posteriores | 13.3 LTS y versiones posteriores | No compatible |
Almacenamiento en la nube | 13.3 LTS y versiones posteriores | Todas las versiones admitidas de Databricks Runtime | Todas las versiones admitidas de Databricks Runtime |
Migrar scripts de inicialización desde DBFS
Advertencia
Los scripts de inicialización en DBFS han alcanzado el final del ciclo de vida y ya no se pueden usar. Debe migrar los scripts de inicialización a una ubicación admitida para poder iniciar el proceso. Almacene scripts de inicialización en volúmenes de Unity Catalog, como archivos del área de trabajo o en el almacenamiento de objetos en la nube.
Los usuarios que necesitan migrar scripts de inicialización de DBFS pueden usar las siguientes guías. Asegúrese de que ha identificado el destino correcto para la configuración. Consulte Recomendaciones para scripts de inicialización.