Uso compartido seguro de datos y recursos de inteligencia artificial mediante Delta Sharing

Este artículo presenta Delta Sharing en Azure Databricks, la plataforma para compartir datos de forma segura que le permite compartir datos y recursos de inteligencia artificial en Azure Databricks con usuarios de fuera de su organización, tanto si esos usuarios usan Databricks como si no.

Importante

Los artículos sobre Delta Sharing de este sitio se centran en el uso compartido de datos, cuadernos y modelos de inteligencia artificial de Azure Databricks. Delta Sharing también está disponible como proyecto de código abierto que puede usar para compartir tablas Delta de otras plataformas. Delta Sharing también proporciona la red troncal para Databricks Marketplace, un foro abierto para intercambiar productos de datos.

Nota:

Si usted es un destinatario de datos al que se le ha concedido acceso a datos compartidos a través de Delta Sharing, y solo desea saber cómo acceder a esos datos, consulte Acceder a datos compartidos con usted utilizando Delta Sharing (para destinatarios).

¿Qué es Delta Sharing?

Delta Sharing es un protocolo abierto desarrollado por Databricks para proteger el uso compartido de datos con otras organizaciones, independientemente de las plataformas informáticas que usen.

Hay tres maneras de compartir datos utilizando Delta Sharing:

  1. El protocolo de uso compartido de Databricks a Databricks, que le permite compartir datos y recursos de inteligencia artificial desde el área de trabajo habilitada para Unity Catalog con usuarios que también tienen acceso a un área de trabajo de Databricks habilitada Unity Catalog.

    Este enfoque usa el servidor de Delta Sharing integrado en Azure Databricks. Admite algunas características de Delta Sharing que no se proporcionan en los demás protocolos, como el uso compartido de cuadernos, el uso compartido de volúmenes de Unity Catalog, el uso compartido de modelos de inteligencia artificial de Unity Catalog, la gobernanza de datos de Unity Catalog, la auditoría y el seguimiento de uso para proveedores y destinatarios. La integración con el Catálogo Unity simplifica la configuración y la gobernanza, tanto para los proveedores como para los destinatarios, y mejora el rendimiento.

    Consulte Uso compartido de datos mediante el protocolo Delta Sharing Databricks a Databricks (para proveedores).

  2. El protocolo de uso compartido abierto de Databricks, que le permite compartir los datos tabulares que administra en un área de trabajo de Databricks habilitada para Unity Catalog con los usuarios de cualquier plataforma informática.

    Este enfoque utiliza el servidor Delta Sharing integrado en Azure Databricks y resulta útil cuando se administran datos mediante el catálogo de Unity y se desea compartirlos con usuarios que no utilizan Databricks o no tienen acceso a un área de trabajo de Databricks habilitada para el catálogo de Unity. La integración con el catálogo de Unity en el lado del proveedor simplifica la configuración y la gobernanza de los proveedores.

    Consulte Uso compartido de datos mediante el protocolo de intercambio abierto (para proveedores).

  3. Una implementación administrada por el cliente del servidor de código abierto Delta Sharing, que le permite compartir desde cualquier plataforma a cualquier plataforma, ya sea Databricks o no.

    La documentación de Azure Databricks no incluye instrucciones para configurar su propio servidor Delta Sharing. Consulte github.com/delta-io/delta-sharing.

recursos compartidos, proveedores y destinatarios

Los conceptos primarios subyacentes a Delta Sharing en Azure Databricks son recursos compartidos, proveedores y destinatarios.

¿Qué es un recurso compartido?

En Delta Sharing, un recurso compartido es una colección de solo lectura de tablas y particiones de tablas que un proveedor desea compartir con uno o más destinatarios. Si su destinatario usa un área de trabajo de Databricks habilitada para Unity Catalog, también puede incluir archivos de cuaderno, vistas (incluidas las vistas dinámicas que restringen el acceso a nivel de fila y columna), volúmenes de Unity Catalog y modelos de Unity Catalog en un recurso compartido.

Es posible agregar o quitar tablas, vistas, volúmenes, modelos y archivos del cuaderno de recursos compartido en cualquier momento. También es posible conceder o revocar el acceso de destinatarios de datos a un recurso compartido en cualquier momento.

En un área de trabajo Azure Databricks habilitada para Unity Catalog, un recurso compartido es un objeto protegible registrado en Unity Catalog. Si quita un recurso compartido del metastore de Unity Catalog, todos los destinatarios de ese recurso compartido pierden la capacidad de acceder a él.

Consulte Creación y administración de recursos compartidos de Delta Sharing.

¿Qué es un proveedor?

Un proveedor es una entidad que comparte datos con un destinatario. Si es un proveedor y desea aprovechar el servidor de uso compartido de Databricks Delta integrado y administrar recursos compartidos y destinatarios mediante Unity Catalog, necesita al menos un área de trabajo de Azure Databricks que esté habilitada para Unity Catalog. No necesita migrar todos sus áreas de trabajo existentes al Catálogo de Unity. Puede simplemente crear un nuevo área de trabajo habilitada para el Catálogo de Unity para sus necesidades de Compartir Delta.

Si un destinatario está en un área de trabajo de Databricks habilitada para Unity Catalog, el proveedor también es un objeto securable de Unity Catalog que representa la organización del proveedor y asocia esa organización con un conjunto de recursos compartidos.

¿Qué es un destinatario?

Un destinatario es una entidad que recibe acciones de un proveedor. En Unity Catalog, un recurso compartido es un objeto protegible que representa a una organización y la asocia con una credencial o un identificador de uso compartido seguro que permite a esa organización acceder a uno o más recursos compartidos.

Como proveedor de datos (quien comparte), puede definir varios destinatarios para cualquier metastore de Unity Catalog determinado, pero, si desea compartir datos de varios metastores con un usuario o grupo de usuarios determinado, debe definir el destinatario por separado para cada metastore. Un destinatario puede tener acceso a varios recursos compartidos.

Si un proveedor elimina un destinatario de su metastore de Unity Catalog, ese destinatario pierde el acceso a todos los recursos compartidos a los que podía acceder anteriormente.

Consulte Creación y administración de destinatarios de datos para Delta Sharing.

Uso compartido abierto frente a uso compartido de Databricks a Databricks

Esta sección describe los dos protocolos para compartir desde un área de trabajo de Databricks habilitada para Unity Catalog.

Nota:

Esta sección asume que el proveedor está en un área de trabajo de Azure Databricks habilitada para Unity Catalog. Para obtener más información sobre la configuración de un servidor de código abierto Delta Sharing para compartir desde una plataforma que no sea Databricks o un área de trabajo que no sea del Catálogo Unity, consulte github.com/delta-io/delta-sharing.

La forma en que un proveedor utiliza Delta Sharing en Azure Databricks depende de con quién comparta los datos:

  • El uso compartido abierto le permite compartir datos con cualquier usuario, tanto si tiene acceso a Azure Databricks como si no.
  • El uso compartido de Databricks a Databricks le permite compartir datos con usuarios de Azure Databricks cuya área de trabajo esté adjunta a un metastore de Unity Catalog distinto del suyo. Databricks a Databricks también admite el uso compartido de cuadernos, volúmenes y modelos que no está disponible en el uso compartido abierto.

¿Qué es Delta Sharing abierto?

Si quiere compartir datos con usuarios que están fuera de su área de trabajo de Azure Databricks, independientemente de si usan Databricks o no, puede usar Delta Sharing abierto para compartir los datos de forma segura. Como proveedor de datos, genera un token y lo comparte de forma segura con el destinatario. Ellos usan el token para autenticarse y obtener acceso de lectura a las tablas que usted ha incluido en los recursos compartidos a los que les ha concedido acceso.

Los destinatarios pueden acceder a los datos compartidos usando muchas herramientas y plataformas informáticas, entre las que se incluyen:

  • Azure Databricks
  • Spark de Apache
  • Pandas
  • Power BI

Para obtener una lista completa de los conectores de Delta Sharing e información sobre cómo usarlos, consulte la documentación de Delta Sharing.

Consulte también Compartir datos mediante el protocolo de compartición abierta Delta Sharing (para proveedores).

¿Qué es Delta Sharing de Databricks a Databricks?

Si desea compartir datos con usuarios que tienen un área de trabajo de Databricks habilitada para Unity Catalog, puede utilizar Databricks a Databricks Delta Sharing. El uso compartido de Databricks a Databricks le permite compartir datos con usuarios de otras cuentas de Databricks, ya sea en AWS, Azure o GCP. También es una excelente manera de compartir datos de forma segura en diferentes metastores de Catálogo de Unity en su propia cuenta de Databricks. Tenga en cuenta que no es necesario utilizar Delta Sharing para compartir datos entre áreas de trabajo adjuntas al mismo metastore de Unity Catalog, porque en ese escenario puede utilizar el propio Unity Catalog para administrar el acceso a los datos a través de las áreas de trabajo.

Una de las ventajas del uso compartido de Databricks a Databricks es que el destinatario de la compartición no necesita un token para acceder a ella, y el proveedor no tiene que administrar los tokens del destinatario. La seguridad de la conexión de uso compartido, incluidas la comprobación de identidades, la autenticación y la auditoría, se administra completamente a través de Delta Sharing y la plataforma Databricks. Otra ventaja es la capacidad de compartir archivos de cuadernos de Databricks, vistas, volúmenes de Unity Catalog y modelos de Unity Catalog.

Consulte también Compartir datos mediante el protocolo Delta Sharing Databricks a Databricks(para proveedores).

¿Cómo configuran los administradores de proveedores el Delta Sharing?

Esta sección ofrece una descripción general de cómo los proveedores pueden habilitar Delta Sharing e iniciar el uso compartido desde un área de trabajo de Azure Databricks habilitada para Unity Catalog. Para consultar el código abierto de Delta Sharing, consulte github.com/delta-io/delta-sharing.

El uso compartido de Databricks a Databricks entre metastores de Unity Catalog de la misma cuenta siempre está habilitado. Si eres un proveedor que desea habilitar Delta Sharing para compartir datos con áreas de trabajo de Databricks en otras cuentas o clientes que no son de Databricks, un administrador de cuenta de Azure Databricks o un administrador de metastore realiza los siguientes pasos de configuración (a alto nivel):

  1. Habilita Delta Sharing para el metastore de Unity Catalog que administra los datos que desea compartir.

    Nota:

    Usted no necesita habilitar Delta Sharing en su metastore si tiene la intención de utilizar Delta Sharing para compartir datos solo con los usuarios de otros metastores de Unity Catalog en su cuenta. El uso compartido de metastore a metastore dentro de una sola cuenta de Azure Databricks está habilitado de manera predeterminada.

    Consulte Habilitación de Delta Sharing en un metastore.

  2. Cree un recurso compartido que incluya recursos de datos registrados en el metastore de Unity Catalog.

    Si comparte con un destinatario que no es de Databricks (conocido como uso compartido abierto), puede incluir tablas en formato Delta o Parquet. Si tiene previsto usar el uso compartido de Databricks a Databricks, también puede agregar vistas, volúmenes de Unity Catalog, modelos de Unity Catalog y archivos de cuaderno a un recurso compartido.

    Consulte Creación y administración de recursos compartidos de Delta Sharing.

  3. Crea un destinatario.

    Consulte Creación y administración de destinatarios de datos para Delta Sharing.

    Si el destinatario no es un usuario de Databricks o no tiene acceso a un área de trabajo de Databricks habilitada para Unity Catalog, debe usar el uso compartido abierto. Se genera un conjunto de credenciales basadas en token para ese destinatario.

    Si el destinatario tiene acceso a un área de trabajo de Databricks habilitada para Unity Catalog, puede utilizar el uso compartido de Databricks a Databricks y no se requieren credenciales basadas en tokens. Usted le solicita un identificador de uso compartido al destinatario y lo usa para establecer la conexión segura.

    Sugerencia

    Pruebe el proceso de configuración con usted como destinatario de prueba.

  4. Concede al destinatario acceso a uno o varios recursos compartidos.

    Consulte Conceder y administrar el acceso a los datos compartidos de Delta Sharing (para proveedores).

    Nota:

    Este paso también se puede realizar mediante un usuario que no sea administrador con los privilegios USE SHARE, USE RECIPIENT y SET SHARE PERMISSION. Consulte Privilegios de Unity Catalog y objetos protegibles.

  5. Envía al destinatario la información que necesita para conectarse al recurso compartido (solo para el uso compartido abierto).

    Consulte Envío de la información de conexión al destinatario.

    Para el uso compartido abierto, use un canal seguro para enviarle al destinatario un vínculo de activación que le permita descargar sus credenciales basadas en token.

    En el caso del uso compartido de Databricks a Databricks, los datos incluidos en el recurso compartido están disponibles en el área de trabajo de Databricks del destinatario en cuanto se le concede acceso al recurso compartido.

El destinatario ya puede acceder a los datos compartidos.

¿Cómo acceden los destinatarios a los datos compartidos?

Los destinatarios acceden a los recursos de datos compartidos en formato de solo lectura. Los archivos de cuaderno compartidos son de solo lectura, pero se pueden clonar y luego modificar y ejecutar en el área de trabajo del destinatario igual que cualquier otro cuaderno.

El acceso seguro depende del modelo de uso compartido:

Cada vez que el proveedor de datos actualiza las tablas de datos o volúmenes de su cuenta de Databricks, las actualizaciones aparecen casi en tiempo real en el sistema del destinatario.

¿Cómo se hace un seguimiento de quién comparte datos y quién accede a los datos compartidos?

Los proveedores de datos en áreas de trabajo de Azure Databricks habilitadas para Unity Catalog pueden utilizar el registro de auditoría de Azure Databricks y las tablas del sistema para supervisar la creación y modificación de recursos compartidos y destinatarios, y pueden supervisar la actividad de los destinatarios en los recursos compartidos. Consulte Auditoría y supervisión del uso compartido de datos.

Los destinatarios de datos que utilizan datos compartidos en un área de trabajo de Databricks pueden utilizar el registro de auditoría de Databricks y las tablas del sistema para saber quién accede a qué datos. Consulte Auditoría y supervisión del uso compartido de datos.

Uso compartido de volúmenes

Puede compartir volúmenes mediante el flujo de uso compartido de Databricks a Databricks. Consulte Adición de volúmenes a un recurso compartido (para proveedores) y Lectura de datos compartidos mediante Delta Sharing de Databricks a Databricks (para destinatarios) (para destinatarios).

Uso compartido de modelos

Puede compartir modelos mediante el flujo de uso compartido de Databricks a Databricks. Consulte Adición de modelos a un recurso compartido (para proveedores) y Lectura de datos compartidos mediante Delta Sharing de Databricks a Databricks (para destinatarios) (para destinatarios).

Uso compartido de cuadernos

Puede usar Delta Sharing para compartir archivos de cuaderno mediante el flujo de uso compartido de Databricks a Databricks. Consulte Agregar archivos de cuaderno a un recurso compartido (para proveedores) y Leer cuadernos compartidos (para destinatarios).

Restricción del acceso en el nivel de fila y columna

Ahora puede compartir vistas dinámicas que restrinjan el acceso a determinados datos de tabla en función de las propiedades del destinatario. El uso compartido de vistas dinámicas requiere el flujo de uso compartido de Databricks a Databricks. Consulte Adición de vistas dinámicas a un recurso compartido para filtrar filas y columnas.

Uso compartido y streaming de Delta

Delta Sharing admite Streaming estructurado de Spark. Un proveedor puede compartir una tabla con historial para que un destinatario pueda usarlo como origen de Structured Streaming y procesar los datos compartidos de forma incremental con baja latencia. Los destinatarios también pueden realizar consultas de viaje en tiempo de Delta Lake en tablas compartidas con el historial.

Para obtener información sobre cómo compartir tablas con el historial, consulte Agregar tablas a un recurso compartido. Para aprender a usar tablas compartidas como orígenes de streaming, consulte Consulta de una tabla mediante Apache Spark Structured Streaming (para destinatarios de uso compartido de Databricks a Databricks) o Acceso a una tabla compartida mediante Spark Structured Streaming (para destinatarios de datos de uso compartido abierto).

Consulte también Streaming en Azure Databricks.

Preguntas frecuentes sobre Delta Sharing

A continuación se exponen las preguntas más frecuentes sobre el reparto Delta.

¿Necesito el Catálogo Unity para utilizar Delta Sharing?

No, no necesita Unity Catalog para compartir (como proveedor) o consumir datos compartidos (como destinatario). Sin embargo, Unity Catalog ofrece ventajas como compatibilidad con el uso compartido de recursos de inteligencia artificial y no tabulares, gobernanza inmediata, simplicidad y rendimiento de las consultas.

Los proveedores pueden compartir datos de dos maneras:

  • Ponga los activos a compartir bajo la administración de Unity Catalog y compártalos utilizando el servidor Azure Databricks Delta Sharing incorporado.

    No es necesario migrar todos los activos al Catálogo de Unity. Solo necesita un área de trabajo de Azure Databricks habilitada para Unity Catalog para administrar los activos que desea compartir. En algunas cuentas, las nuevas áreas de trabajo se habilitan automáticamente para Unity Catalog. Consulte Habilitación automática de Unity Catalog.

  • Implemente el servidor abierto Delta Sharing para compartir datos, sin utilizar necesariamente su cuenta Azure Databricks.

Los destinatarios pueden consumir los datos de dos maneras:

  • Sin un área de trabajo Databricks. Utilice conectores de código abierto de Delta Sharing que están disponibles para muchas plataformas de datos, como Power BI, pandas y Apache Spark de código abierto. Consulte Leer datos compartidos mediante el uso compartido abierto de Delta Sharing (para destinatarios) y el proyecto de código abierto Delta Sharing.

  • En un área de trabajo Databricks. No es necesario que las áreas de trabajo del destinatario estén habilitadas para el Catálogo Unity, pero si lo están se obtienen ventajas de gobernanza, simplicidad y rendimiento.

    Las organizaciones destinatarias que deseen estas ventajas no necesitan migrar todos los activos a Unity Catalog. Solo necesita un área de trabajo de Azure Databricks que esté habilitada para Unity Catalog para administrar los activos que se comparten con usted. En algunas cuentas, las nuevas áreas de trabajo se habilitan automáticamente para Unity Catalog. Consulte Habilitación automática de Unity Catalog.

Consulte Lectura de datos compartidos mediante Delta Sharing abierto (para destinatarios) y Lectura de datos compartidos mediante Databricks a Databricks Delta Sharing (para destinatarios).

¿Necesito ser cliente de Databricks para utilizar Delta Sharing?

No, Delta Sharing es un protocolo abierto. Puede compartir datos que no sean de Databricks con destinatarios de cualquier plataforma de datos. Los proveedores pueden configurar un servidor Delta Sharing abierto para compartir desde cualquier plataforma informática. Los destinatarios pueden consumir los datos compartidos utilizando conectores de código abierto de Delta Sharing para muchos productos de datos, incluidos Power BI, pandas y Spark de código abierto.

Sin embargo, el uso de Delta Sharing en Azure Databricks, especialmente el uso compartido desde un área de trabajo habilitada para Unity Catalog, tiene muchas ventajas.

Para más detalles, consulte la primera pregunta de esta FAQ.

¿Delta Sharing incurre en costos de salida?

Delta Sharing dentro de una región no incurre en costes de salida. A diferencia de otras plataformas de uso compartido de datos, Delta Sharing no necesita replicación de datos. Este modelo tiene muchas ventajas, pero significa que el proveedor de la nube puede cobrar tarifas de salida de datos al compartir datos entre nubes o regiones. Azure Databricks admite el uso compartido desde Cloudflare R2 (versión preliminar pública), que no incurre en cuotas de salida y proporciona otras herramientas y recomendaciones para supervisar y evitar tarifas de salida. Vea Supervisión y administración de los costos de salida de Delta Sharing (para proveedores).

¿Pueden los proveedores revocar el acceso de los destinatarios?

Sí, el acceso de los destinatarios puede revocarse a petición y a niveles específicos de granularidad. Puede denegar el acceso de destinatarios a recursos compartidos específicos y direcciones IP específicas, filtrar datos tabulares para un destinatario, revocar tokens de destinatarios y eliminar destinatarios por completo. Consulte Revocar el acceso de un destinatario a un recurso compartido y Crear y administrar destinatarios de datos para Delta Sharing.

¿No es inseguro utilizar URL firmadas previamente?

Delta Sharing utiliza URL firmadas previamente para proporcionar acceso temporal a un archivo en el almacenamiento de objetos. Solo se entregan a destinatarios que ya tienen acceso a los datos compartidos. Son seguras porque duran poco y no amplían el nivel de acceso más allá de lo que ya se ha concedido a los beneficiarios.

¿Son seguros los tokens utilizados en el protocolo de uso compartido abierta Delta Sharing?

Dado que Delta Sharing permite compartir datos entre plataformas -a diferencia de otras plataformas de intercambio de datos disponibles-, el protocolo de intercambio requiere un token abierto. Los proveedores pueden garantizar la seguridad de los tokens configurando su vida útil, estableciendo controles de red y revocando el acceso bajo demanda. Además, el token no amplía el nivel de acceso más allá de lo que ya se ha concedido a los destinatarios. Consulte Consideraciones de seguridad para los tokens.

Si prefiere no utilizar tokens para administrar el acceso a los recursos compartidos de los destinatarios, debe utilizar el uso compartido de Databricks a Databricks o ponerse en contacto con el equipo de su cuenta de Databricks para conocer otras alternativas.

¿Delta Sharing permite compartir vistas?

Sí, Delta Sharing permite compartir vistas. Consulte Agregar vistas a un recurso compartido.

Para obtener información sobre las mejoras previstas para la visualización compartida, póngase en contacto con su equipo de cuentas de Databricks.

Limitaciones

Cuotas de recursos

Los valores siguientes indican las cuotas de recursos de Delta Sharing. Los valores de cuota siguientes se expresan en relación con el objeto primario en el catálogo de Unity.

Object Parent Valor
provider metastore 1000
recipients metastore 5000
recursos compartidos metastore 1000
tablas compartir 1 000
volumes compartir 1 000
modelos compartir 1 000
schemas Compartir 500
notebooks Compartir 100

Si espera superar estos límites de recursos, póngase en contacto con el equipo de la cuenta de Azure Databricks.

Pasos siguientes