¿Qué es un almacén de Databricks SQL?

En este artículo, se presentan los almacenes de SQL (anteriormente puntos de conexión de SQL) y se describe cómo trabajar con ellos mediante la interfaz de usuario de Databricks SQL. Un almacén de SQL es un recurso de proceso que le permite ejecutar comandos SQL en objetos de datos de Databricks SQL. Los recursos de proceso son recursos de infraestructura que proporcionan funcionalidades de procesamiento en la nube.

El término "puntos de conexión de SQL" ha cambiado a "almacenes de SQL"

Databricks cambió el término "punto de conexión de SQL" a "almacén de SQL" porque es más que un punto de entrada de API que ejecuta comandos SQL. Un almacén de SQL es un recurso de proceso para todas las necesidades de almacenamiento de datos, una parte integral de Lakehouse Platform.

Entre otros tipos de recursos de proceso, se incluyen los clústeres de Azure Databricks. Para trabajar con almacenes de SQL mediante la API, consulte las API de almacenes de SQL 2.0.

Antes de empezar

Al crear los primeros almacenes de SQL, Databricks recomienda que acepte los valores predeterminados tal y como aparecen en la página Nuevo almacén de SQL. Pero tiene muchas opciones que puede configurar para satisfacer sus necesidades específicas. Entre estas opciones, debe tener en cuenta lo siguiente:

  • Almacenes de SQL sin servidor (versión preliminar pública), que usan recursos de proceso administrados por Azure Databricks, a diferencia de un almacén de SQL clásico, cuyos recursos de proceso se encuentran en la suscripción de Azure. Los almacenes de SQL sin servidor simplifican la administración de almacenes de SQL y aceleran los tiempos de inicio. Para obtener información general sobre el proceso sin servidor, consulte Serverless compute (Proceso sin servidor). Para poder crear almacenes de SQL sin servidor, un administrador del área de trabajo de Azure Databricks debe habilitar los almacenes de SQL sin servidor para el área de trabajo.
  • Los canales le permiten elegir si va a usar la versión de proceso del almacén de SQL actual o la versión preliminar. Las versiones preliminares permiten probar la funcionalidad antes de que se convierta en el estándar de Databricks SQL. Aproveche las ventajas de las versiones preliminares para probar los paneles y las consultas en relación con los próximos cambios. Normalmente, las versiones preliminares se promueven a la versión actual dos semanas después de la versión preliminar inicial, pero algunas versiones preliminares pueden durar más. Puede obtener información sobre las características de la versión preliminar más reciente revisando las notas de la versión. Databricks no recomienda usar versiones preliminares para cargas de trabajo de producción.

Requisitos

  • Para crear un almacén de SQL, debe tener permiso de creación de clústeres en Ciencia de datos & ingeniería de Databricks.
  • Para administrar un almacén de SQL, debe tener permiso Puede administrar en Databricks SQL.
  • Para poder crear una instancia de almacén de SQL sin servidor, un administrador debe habilitar primero los almacenes de SQL sin servidor para el área de trabajo.
  • Debe tener una cuota de vCPU adecuada en su cuenta de Azure. La cuota de vCPU predeterminada suele ser adecuada para crear el almacén de inicio que se crea automáticamente en las nuevas áreas de trabajo. Sin embargo, es posible que la cuenta de Azure no tenga la cuota de vCPU adecuada para escalar el almacén de inicio o para crear almacenes adicionales. Para obtener más información, consulte Cuota necesaria de vCPU de Azure. Puede solicitar una cuota de vCPU adicional. Su cuenta de Azure puede tener limitaciones en la cantidad de cuota de vCPU que puede solicitar. Póngase en contacto con su representante de la cuenta de Azure para más información.

Visualización de almacenes de SQL

Haga clic en el icono de puntos de conexiónAlmacenes SQL en la barra lateral.

De manera predeterminada, los almacenes se ordenan por estado (primero los almacenes en ejecución) y, a continuación, en orden alfabético. Para volver a ordenar la lista, haga clic en los encabezados de columna.

Para ayudarle a empezar a trabajar rápidamente, como cuando sigue el Inicio rápido de Databricks SQL, Azure Databricks crea automáticamente un almacén de SQL llamado Almacén de inicio. Este almacén de SQL tiene un tamaño pequeño. Puede editar o eliminar este almacén de SQL.

Para filtrar la lista de almacenes, escriba texto en el cuadro de búsqueda:

Para más información sobre la configuración de un almacén, incluidos los detalles de conexión, la supervisión y la configuración avanzada, haga clic en el nombre del almacén.

Creación de un almacén de SQL

Puede crear un almacén de SQL mediante la página Nuevo almacén de SQL en la interfaz de usuario web o mediante la API de almacén de SQL.

Puede crear un almacén de SQL mediante la página Nuevo almacén de SQL en la interfaz de usuario web o mediante la API de almacén de SQL. Para obtener más información sobre cómo administrar almacenes sin servidor con la API, consulte Uso de la API de almacén con almacenes de SQL sin servidor.

Al aceptar todos los valores predeterminados en la página Nuevo almacén de SQL, puede crear un almacén de SQL eficaz y de alto rendimiento de forma rápida y sencilla. Puede reemplazar esos valores predeterminados si la carga de trabajo o el entorno lo requieren.

Para crear un almacén de SQL mediante la interfaz de usuario web:

  1. Haga clic en el icono-1 de puntos de conexiónAlmacenes de SQL en la barra lateral.

  2. Haga clic en Crear almacén de SQL para abrir el cuadro de diálogo Nuevo almacén de SQL.

  3. Escriba un nombre para el almacén.

  4. Acepte las propiedades predeterminadas del almacén o edítelas.

    • Cluster Size (Tamaño del clúster) representa el número de nodos de trabajo del clúster y el tamaño de los recursos de proceso disponibles para ejecutar las consultas y los paneles. El valor predeterminado es X-Large. Para reducir la latencia de las consultas, aumente el tamaño. Para más información, consulte Tamaño del clúster.

    • Detención automática determina si se detiene el almacén si está inactivo durante el número de minutos especificado. El valor predeterminado es 10 minutos. Si deshabilita Serverless(Sin servidor) enAdvanced options (Opciones avanzadas), se recomiendan 120 minutos.

      Los almacenes de SQL inactivos siguen acumulando cargos de DBU y de instancia en la nube hasta que se detienen.

    • Escalado establece el número mínimo y máximo de clústeres en los que se distribuyen las consultas enviadas al almacén.

      El valor predeterminado es un mínimo de uno y un máximo de un clúster.

      Para controlar más usuarios simultáneos para una consulta determinada, aumente el número de clústeres. Para obtener información sobre cómo agrega Azure Databricks los clústeres a un almacén y cómo los elimina, consulte Puesta en cola y escalado automático.

  5. (Opcional) Configure las opciones avanzadas.

    Si desea realizar alguna de las acciones siguientes, expanda Advanced options (Opciones avanzadas):

    • Agregar etiquetas para ayudar a supervisar el uso del almacén de SQL
    • Desactivar la opción Serverless (Sin servidor)
    • Configuración de la directiva de instancia de Spot para el almacén de SQL
    • Usar el canal de versión preliminar para probar las próximas características

    Para más información, consulte Opciones avanzadas.

    Nota:

    Si Serverless (Sin servidor) no está habilitada para el área de trabajo, no verá esa opción.

  6. Haga clic en Crear.

  7. Realice una de las siguientes acciones:

    Se crea el almacén y se inicia.

También puede crear un almacén de SQL con el proveedor de Databricks Terraform y databricks_sql_endpoint.

Opciones avanzadas

Para configurar las siguientes opciones avanzadas, expanda el área Opciones avanzadas al crear un almacén de SQL mediante el cuadro de diálogo Nuevo almacén de SQL o edite un almacén de SQL existente mediante el cuadro de diálogo de edición. También puede configurar estas opciones mediante el uso de las API de almacenes de SQL 2.0.

Configurar opciones avanzadas

Adición de etiquetas para la supervisión del uso

Las etiquetas permiten supervisar fácilmente el costo de los recursos en la nube utilizado por los usuarios y grupos de la organización. Al crear o editar un almacén de SQL, expanda el área Opciones avanzadas para especificar las etiquetas como pares clave-valor. Azure Databricks aplica estas etiquetas a los recursos en la nube.

Cambio del tipo de almacenamiento de SQL (clásico o sin servidor).

Los almacenes de SQL clásicos usan recursos de proceso en la suscripción de Azure. Los almacenes de SQL sin servidor (versión preliminar pública) usan recursos de proceso en la suscripción de Azure para Azure Databricks. Los almacenes de SQL sin servidor simplifican la configuración y la utilización de almacenes de SQL y aceleran los tiempos de inicio. La opción Sin servidor solo está disponible si se ha habilitado para el área de trabajo.

  • Si los almacenes de SQL sin servidor están habilitados para el área de trabajo, son el valor predeterminado cada vez que se crea una instancia de almacén de SQL. Si prefiere un almacén de SQL clásico, expanda las opciones avanzadas y desactive Serverless (Sin servidor). Para volver a Serverless (Sin servidor), active el botón de alternancia.
  • Si los almacenes de SQL sin servidor no están habilitados, el almacén de SQL es siempre un almacén de SQL clásico. El botón de alternancia Serverless (Sin servidor) no aparece y no se puede cambiar el tipo de almacén.

Configuración de la directiva de instancia de acceso puntual (solo almacenes de SQL clásicos)

Si los almacenes de SQL sin servidor no están habilitados para el área de trabajo o si desactiva la opción Serverless (Sin servidor) en las opciones avanzadas, aparece la opción Spot Instance Policy (Directiva de instancia de acceso puntual), con el valor predeterminado Cost Optimized (Optimizado para costo).

La directiva de instancia de acceso puntual determina si los roles de trabajo solo usan instancias a petición o una combinación de instancias a petición y de acceso puntual. Cost Optimized (Optimizado para costo) usa principalmente instancias de acceso puntual y una instancia a petición. Reliability Optimized (Optimizado para confiabilidad) solo usa instancias a petición.

Uso del canal de versión preliminar

Los canales le permiten elegir si va a usar la versión de proceso del almacén de SQL actual o la versión preliminar. Una versión preliminar le permite probar la funcionalidad antes de que se convierta en el estándar de Databricks SQL. Aproveche las ventajas del canal de versión preliminar para probar los paneles y las consultas en relación con los próximos cambios. Puede obtener información sobre lo que hay en la versión preliminar más reciente en las notas de la versión.

El valor predeterminado es Current (Actual). Para cambiar un almacén de SQL al canal de versión preliminar, expanda Opciones avanzadas y seleccione Versión preliminar.

Importante

Databricks recomienda no usar una versión preliminar para cargas de trabajo de producción. Dado que solo los administradores pueden ver las propiedades de un almacén, incluido su canal, considere indicar que un almacén de SQL usa una versión preliminar en el nombre del almacén para que los usuarios no lo usen involuntariamente para cargas de trabajo de producción.

Configuración de un almacén de SQL para capturar el linaje de datos

Importante

El linaje de datos está en versión preliminar pública.

Nota

Debe ser administrador de SQL para habilitar el linaje de datos.

Para crear un almacén de SQL que capture el linaje de datos, realice los pasos siguientes. Estos pasos deben seguirse una vez para cada área de trabajo y se aplicarán a todos los puntos de conexión de SQL que se hayan iniciado en esa área de trabajo.

  1. Vaya a la página de aterrizaje de Azure Databricks, haga clic en el icono situado debajo del logotipo de Databricks en la barra lateral y seleccione el rol SQL.

  2. Haga clic en Icono de configuración del usuarioConfiguración en la parte inferior de la barra lateral y seleccione Consola de administración de SQL.

  3. Haga clic en la pestaña Configuración del almacén de SQL.

  4. En el cuadro de texto Configuración de acceso a datos, escriba la siguiente configuración:

    spark.databricks.dataLineage.enabled true
    
  5. Haga clic en Guardar cambios.

  6. Haga clic en el icono-1 de puntos de conexiónAlmacenes de SQL en la barra lateral.

  7. Haga clic en Crear almacén de SQL para abrir el cuadro de diálogo Nuevo almacén de SQL.

  8. Escriba un nombre para el almacén.

  9. Haga clic en Opciones avanzadas y seleccione el canal Versión preliminar.

  10. (Opcional) El catálogo de Unity y el servicio de linaje también admiten almacenes sin servidor. Para crear un almacén sin servidor, haga clic en el botón de alternancia Sin servidor.

  11. Haga clic en Crear.

Inicio, detención o eliminación de un almacén de SQL

  1. Haga clic en el Icono-2 de almacénAlmacenes de SQL en la barra lateral.
  2. Para detener un almacén en ejecución, haga clic en Detener.
  3. Para iniciar un almacén detenido, haga clic en Iniciar.
  4. Para eliminar un almacén, haga clic en los puntos suspensivos verticales Puntos suspensivos verticales en la columna Acciones y, a continuación, haga clic en Eliminar.

Edición de un almacén de SQL

Puede elegir editar un almacén de SQL mediante la interfaz de usuario web o la API de almacén de SQL.

Para editar un almacén de SQL mediante la interfaz de usuario web:

  1. Haga clic en el Icono-3 de puntos de conexiónAlmacenes de SQL en la barra lateral.

  2. En la columna Actions (Acciones), haga clic en los puntos suspensivos verticales Vertical Ellipsis y haga clic en Edit (Editar).

  3. Edite las propiedades del almacén.

    Para obtener información sobre cada propiedad editable, consulte Creación de un almacén de SQL y Configuración del almacén de SQL para capturar el linaje de datos.

  4. Haga clic en Save (Guardar) o Save and restart (Guardar y reiniciar).

Conversión de un almacén de SQL clásico en un almacén de SQL sin servidor

Para obtener información sobre el almacén de SQL sin servidor, consulte Serverless compute (Proceso sin servidor). La opción Sin servidor solo está disponible si se ha habilitado para el área de trabajo.

Importante

Los almacenes de SQL sin servidor están disponibles en versión preliminar pública. Para empezar a usar Databricks SQL sin servidor en Azure, envíe su solicitud mediante este formulario.

  1. Haga clic en el Icono-3b de puntos de conexiónSQL Warehouses (Almacenes de SQL) en la barra lateral.
  2. Haga clic en un almacén de SQL clásico.
  3. Haz clic en el botón Editar.
  4. Haga clic en el botón de alternancia Serverless (Sin servidor) para cambiar su tipo.
  5. Haga clic en Save (Guardar) o Save and restart (Guardar y reiniciar).

Configuración de permisos de almacén de SQL

Para configurar los permisos de un almacén de SQL:

  1. Haga clic en el Icono-4 de puntos de conexiónAlmacenes de SQL en la barra lateral.

  2. Haga clic en un almacén.

  3. Haga clic en el botón Permissions Button.

    Aparece el cuadro de diálogo Permisos de almacén de SQL. El creador del almacén y los administradores de Azure Databricks tienen el permiso Puede administrar de manera predeterminada.

    Adición de permisos

  4. Seleccione un usuario o grupo y un permiso.

  5. Haga clic en Agregar.

  6. Haga clic en Save(Guardar).

Para obtener información sobre los niveles de los permisos, consulte Control de acceso del almacén de SQL.

Supervisión de un almacén de SQL

Puede ver el número de consultas que controla el almacén y el número de clústeres asignados al almacén.

  1. Haga clic en el Icono-5 de puntos de conexiónAlmacenes de SQL en la barra lateral.

  2. Haga clic en un almacén.

  3. Haga clic en Supervisión.

    Un gráfico muestra el número de consultas que controla el almacén y el número de clústeres asignados al almacén durante las últimas 6 horas.

    Haga clic en el botón de escala de tiempo situado en la parte superior derecha del gráfico para cambiar el período que se muestra. Por ejemplo, en la captura de pantalla siguiente, se muestran estas estadísticas de 7 días:

    Supervisión de almacén

    Nota

    El número de clústeres puede ser mayor que uno solo si el escalado está habilitado y configurado.

Tamaño del clúster

En la tabla de esta sección, se asignan los tamaños del clúster del almacén de SQL al tamaño del controlador del clúster de Azure Databricks y el número de roles de trabajo. El tamaño del controlador solo se aplica a almacenes clásicos de SQL.

Nota:

En cuanto a los almacenes sin servidor, en algunos casos, los tamaños de clúster pueden usar tipos de instancia diferentes a los que se enumeran en la documentación de almacenes clásicos para un tamaño de clúster equivalente. En general, la relación precio/rendimiento de los tamaños de clúster para almacenes sin servidor es similar a la de los almacenes clásicos.

Tamaño del clúster Tipo de instancia para el controlador (solo se aplica a almacenes clásicos) Número de roles de trabajo
2X-Small Standard_E8ds_v4 1
X-Small Standard_E8ds_v4 2
Pequeña Standard_E16ds_v4 4
Media Standard_E32ds_v4 8
grande Standard_E32ds_v4 16
Mas grande Standard_E64ds_v4 32
2X-Large Standard_E64ds_v4 64
3X-Large Standard_E64ds_v4 128
4X-Large Standard_E64ds_v4 256

El tamaño de instancia de todos los roles de trabajo es Standard_E8ds_v4.

Cada controlador y rol de trabajo tienen conectados ocho discos administrados LRS Estándar de 128 GB. Los discos conectados se cobran por hora.

Cuota necesaria de vCPU de Azure

Para iniciar un almacén de SQL, debe tener una cuota de vCPU de Azure adecuada para instancias Standard_E8ds_v4 en la cuenta de Azure. Use las siguientes directrices para determinar la cuota de vCPU necesaria:

  • Si solo tiene uno o dos almacenes de SQL, asegúrese de que tiene 8 vCPU de Azure disponibles para cada núcleo del clúster. Esto garantiza que tiene las vCPU de Azure adecuadas para tener en cuenta el nuevo aprovisionamiento del almacén, que se produce aproximadamente cada 24 horas. Si los almacenes de SQL usan el escalado automático o el equilibrio de carga de varios clústeres, es posible que tenga que aumentar el multiplicador.
  • A medida que aumenta el número de almacenes de SQL, permita entre 4 y 8 vCPU de Azure por cada núcleo del clúster. Databricks recomienda empezar con un número mayor y supervisar la estabilidad.
  • Las vCPU de Azure que usan los almacenes de SQL se suman a las vCPU de Azure que usan los clústeres utilizados por Ciencia de datos & ingeniería, o por cargas de trabajo que no son de Databricks.

Para solicitar una cuota adicional de vCPU de Azure, consulte Aumento de las cuotas de vCPU de la familia de máquinas virtuales en la documentación de Azure.

Puesta en cola y escalado automático

Azure Databricks limita el número de consultas en un clúster asignado a un almacén de SQL basado en el coste de procesar sus resultados. El escalado vertical de clústeres por almacén se basa en el rendimiento de las consultas, la tasa de consultas entrantes y el tamaño de la cola. Azure Databricks agrega clústeres en función del tiempo que se tardaría en procesar todas las consultas actualmente en ejecución, todas las consultas en cola y las consultas entrantes esperadas en los dos minutos siguientes, como se indica a continuación:

  • Menos de 2 minutos, no se escala verticalmente.
  • De 2 a 6 minutos, se agrega 1 clúster.
  • De 6 a 12 minutos, se agregan 2 clústeres.
  • De 12 a 22 minutos, se agregan 3 clústeres.

De lo contrario, Azure Databricks agrega 3 clústeres más 1 clúster por cada 15 minutos adicionales de carga de consultas esperados.

Además, un almacén siempre se escala verticalmente si una consulta espera 5 minutos en la cola.

Si la carga es baja durante 15 minutos, Azure Databricks reduce verticalmente el almacén de SQL. Mantiene suficientes clústeres para controlar la carga máxima durante los últimos 15 minutos. Por ejemplo, si la carga máxima era de 25 consultas simultáneas, Azure Databricks mantiene 3 clústeres.

Puesta en cola de las consultas

Azure Databricks pone en cola las consultas cuando todos los clústeres asignados al almacén ejecutan consultas a pleno rendimiento o cuando el almacén está en estado STARTING.

Las consultas de metadatos (por ejemplo, DESCRIBE <table>) y las consultas de modificación de estado (por ejemplo, SET) nunca se ponen en cola, a menos que el almacén esté en estado STARTING.

Enrutamiento de consultas

Azure Databricks enruta las consultas de la manera siguiente:

  • Nueva sesión: al clúster con la carga más baja.
  • Sesión existente: al clúster que ejecutó la consulta anterior para esa sesión. Si ese clúster no tiene capacidad disponible, la consulta se enruta al clúster con la carga más baja.