Compartir vía


¿Qué es 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. Delta Sharing también es la base de Databricks Marketplace, un foro abierto para intercambiar productos de datos y Clean Rooms, un entorno seguro y de protección de la privacidad where varias partes pueden trabajar conjuntamente con datos empresariales confidenciales.

Delta Sharing también está disponible como un proyecto de código abierto que puede usar para compartir tables Delta en otras plataformas.

Nota:

Para obtener información sobre cómo acceder a los datos que se han compartido con el uso compartido de Delta, consulte Acceso a los datos compartidos con usted mediante el uso compartido de Delta (para recipients).

¿Cómo funciona 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 Databricks a Databricks, que le permite compartir recursos de datos e 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 para 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 otros protocolos, como el uso compartido de cuadernos, el uso compartido de volúmenes de Unity Catalog, el uso compartido de modelos de AI de Unity Catalog, la gobernanza de datos de Unity Catalog, la auditoría y el seguimiento del uso para providers y recipients. La integración con Unity Catalog simplifica la configuración y la gobernanza tanto para providers como para recipients y mejora el rendimiento.

    Vea Uso compartido de datos mediante el protocolo Databricks a Databricks de Delta Sharing (para providers).

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

    Este enfoque usa el servidor Delta Sharing integrado en Azure Databricks y es útil cuando administra datos mediante Unity Catalog y quiere compartirlos con usuarios que no usan Databricks o que no tienen acceso a un área de trabajo de Databricks habilitada para Unity Catalog. La integración con Unity Catalog en el lado del proveedor simplifica la configuración y la gobernanza de providers.

    Consulte Uso compartido de datos mediante el protocolo de uso compartido abierto Delta Sharing (para providers).

  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.

Arquitectura de acceso a datos

Shares, providersy recipients

Los conceptos principales subyacentes a Delta Sharing en Azure Databricks son shares, providersy recipients.

¿Qué es un recurso compartido?

En Delta Sharing, un recurso compartido es una colección de solo lectura de tables y table que un proveedor quiere compartir con uno o varios recipients. Si su destinatario utiliza un área de trabajo de Databricks habilitada para Unity Catalog, también puede incluir archivos de cuadernos, views (incluidas views dinámicas que restringen el acceso a nivel de fila y column), volumes de Unity Catalog, y modelos de Unity Catalog en un recurso compartido.

Puede agregar o removetables, views, volumes, modelos y archivos de cuadernos desde un recurso compartido en cualquier momento, y puede asignar o revoke acceso de destinatario de datos a un recurso compartido en cualquier momento.

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

Consulte Crear y gestionar shares para Delta Sharing.

¿Qué es un proveedor?

Un proveedor es una entidad que shares datos con un destinatario. Si es un proveedor y quiere aprovechar las ventajas del servidor integrado Databricks Delta Sharing y administrar shares y recipients mediante Unity Catalog, necesita al menos un área de trabajo de Azure Databricks habilitada para Unity Catalog. No es necesario migrar todas las áreas de trabajo existentes a Unity Catalog. Simplemente puede crear una nueva área de trabajo habilitada para Unity Catalog para sus necesidades de Delta Sharing.

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

¿Qué es un destinatario?

Un destinatario es una entidad que recibe shares de un proveedor. En Unity Catalog, un recurso compartido es un objeto securizable que representa una organización y la asocia con una credencial o un uso compartido seguro identifier que permite a esa organización acceder a uno o varios recursos shares.

Como proveedor de datos, puede definir múltiples recipients para cualquier metastore de Unity Catalog. Sin embargo, si desea compartir datos de múltiples metastores con un usuario o grupo de usuarios específicos, debe definir al destinatario por separado para cada metastore. Un destinatario puede tener acceso a varios shares.

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

Consulte Creación y gestión de recipients de datos para Delta Sharing.

Uso compartido abierto frente a uso compartido de Databricks a Databricks

En esta sección se describen los dos protocolos para compartir desde un área de trabajo de Databricks habilitada para Unity Catalog.

Nota:

En esta sección se supone que el proveedor está en un área de trabajo de Azure Databricks habilitada para Unity Catalog. Para obtener información sobre cómo configurar un servidor delta sharing de código abierto para compartir desde una plataforma que no es de Databricks o un área de trabajo que no sea de Unity Catalog, 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á asociada a un metastore de Unity Catalog diferente 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, generate un token y lo comparte de forma segura con el destinatario. Usa el token para autenticarse y get el acceso de lectura a las tables que ha incluido en los shares a los que les ha dado acceso.

Recipients puede acceder a los datos compartidos mediante muchas plataformas y herramientas informáticas, entre las que se incluyen:

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

Para obtener una list 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 uso compartido abierto Delta Sharing (para providers).

¿Qué es Delta Sharing de Databricks a Databricks?

Si quiere compartir datos con usuarios que tienen un área de trabajo de Databricks habilitada para Unity Catalog, puede usar Databricks-to-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 Unity Catalog en su propia cuenta de Databricks. Tenga en cuenta que no es necesario usar Delta Sharing para compartir datos entre áreas de trabajo asociadas al mismo metastore de Unity Catalog, ya que en ese escenario puede usar Unity Catalog para administrar el acceso a los datos entre á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, views, Unity Catalogvolumesy modelos de Unity Catalog.

Consulte también Uso compartido de datos mediante el protocolo Databricks a Databricks de Delta Sharing (para providers).

¿Cómo set los administradores del proveedor Delta Sharing?

En esta sección se proporciona información general sobre cómo providers puede 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 en 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. Habilite Delta Sharing para el metastore de Unity Catalog, que gestiona los datos que desea compartir.

    Nota:

    No es necesario habilitar Delta Sharing en su metastore si piensa usar Delta Sharing para compartir datos solo con usuarios de otros metastores de Catalogde Unity 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 los 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 tables en el formato Delta o Parquet. Si tiene previsto emplear el uso compartido de Databricks a Databricks, también puede agregar views, volumes de Unity Catalog, modelos de Unity Catalog y archivos de cuaderno a un recurso compartido.

    Consulte Crear y gestionar shares para Delta Sharing.

  3. Crea un destinatario.

    Consulte Creación y gestión de recipients 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 uso compartido abierto. Se genera un set de credentials basadas en tokens 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 credentials basadas en tokens. Solicita un de identifieruso 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. Grant al destinatario acceso a uno o varios shares.

    Consulte Administrar el acceso a los datos de Delta Sharing shares (para providers).

    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 y objetos protegibles de Unity Catalog.

  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 enviar al destinatario un vínculo de activación que le permita descargar sus credentials basadas en tokens.

    Para el uso compartido de Databricks a Databricks, los datos incluidos en el recurso compartido estarán disponibles en el área de trabajo de Databricks del destinatario en cuanto grant acceso al recurso compartido.

El destinatario ya puede acceder a los datos compartidos.

¿Cómo recipients accede a los datos compartidos?

Los Recipients acceden a 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 los datos tables o volumes en su propia 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 providers de datos en las áreas de trabajo de Azure Databricks habilitadas para Unity Catalog pueden utilizar el registro de auditoría y las tables del sistema de Azure Databricks para supervisar la creación y modificación de shares y recipients, además de poder supervisar la actividad del destinatario en shares. Consulte Auditoría y supervisión del uso compartido de datos.

Los usuarios recipients que utilizan datos compartidos en un entorno de trabajo de Databricks pueden usar los registros de auditoría de Databricks y el sistema tables para comprender quién accede a qué datos. Consulte Auditoría y supervisión del uso compartido de datos.

Uso compartido de volumes

Puede compartir volumes mediante el flujo de uso compartido de Databricks a Databricks. Consulte Agregar volumes a un recurso compartido (para providers) y Lectura de datos compartidos mediante Delta Sharing de Databricks a Databricks (para recipients) (para recipients).

Uso compartido de modelos

Puede compartir modelos mediante el flujo de uso compartido de Databricks a Databricks. Consulte Añadir modelos a un recurso compartido (para providers) y Lectura de datos compartidos usando Delta Sharing de Databricks a Databricks (para recipients) (para recipients).

Uso compartido de cuadernos

Puede usar Delta Sharing para compartir archivos de cuaderno mediante el flujo de uso compartido de Databricks a Databricks. Vea Agregar archivos de cuaderno a un recurso compartido (para providers) y Lectura de cuadernos compartidos (para recipients).

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

Puede compartir views dinámicas que restrinjan el acceso a determinados datos de table 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 Agregar views dinámicas a un recurso compartido para filtrar filas y columns.

Uso compartido y streaming de Delta

Delta Sharing admite Streaming estructurado de Spark. Un proveedor puede compartir un table con el historial para que un destinatario pueda usarlo como origen de Structured Streaming, procesando los datos compartidos de forma incremental con baja latencia. Los Recipients también pueden realizar consultas de viaje en el tiempo de Delta Lake en tables compartidas con historial.

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

Consulte también Streaming en Azure Databricks.

Matriz de compatibilidad de características de Delta Lake

Delta Sharing admite la mayoría de las características de Delta Lake al compartir una table. Esta matriz de soporte enumera lo siguiente:

  • características Delta que requieren versiones específicas de Databricks Runtime, el conector Spark de código abierto de Delta Sharing o el conector Python de código abierto de Delta Sharing.
  • Características admitidas parcialmente.
Característica Proveedor Destinatario de Databricks Destinatario de código abierto
Vectores de eliminación Compartir tables con esta característica está en versión preliminar pública. - Databricks Runtime 14.1+ para consultas por lotes
- Databricks Runtime 14.2+ para consultas CDF y streaming
- Conector Spark de Delta Sharing 3.1+
- Conector Python de Delta Sharing 1.1.0+
- Power BI v2.132.908.0+
Asignación de Column Compartir tables con esta característica está en versión preliminar pública. - Databricks Runtime 14.1+ para consultas por lotes
- Databricks Runtime 14.2+ para consultas CDF y streaming
- Conector Spark de Delta Sharing 3.1+
- Conector Python de Delta Sharing 1.1.0+
- Power BI v2.132.908.0+
Formato uniforme Compartir tables con esta característica está en versión preliminar pública. - Databricks Runtime 14.1+ para consultas por lotes
- Databricks Runtime 14.2+ para consultas CDF y streaming
- Conector Spark de Delta Sharing 3.1+
- Conector Python de Delta Sharing 1.1.0+
- Power BI v2.132.908.0+
Punto de comprobación V2 Se admite con limitaciones Se admite con limitaciones Se admite con limitaciones
TimestampNTZ Compatible Databricks Runtime 14.1+ Conector Spark de Delta Sharing 3.3+
Agrupación en clústeres líquidos Se admite con limitaciones Se admite con limitaciones Se admite con limitaciones

Preguntas frecuentes sobre Delta Sharing

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

¿Necesito Unity Catalog para usar Delta Sharing?

No, no necesita Unity Catalog para compartir (como proveedor) ni consumir datos compartidos (como destinatario). Sin embargo, Unity Catalog proporciona ventajas como la compatibilidad con el uso compartido de recursos no tabulares y de IA, la gobernanza integrada, la simplicidad y el rendimiento de las consultas.

Providers pueden compartir datos de dos maneras:

  • Coloque los activos para compartir bajo la gestión de Unity Catalog y compártalos usando el servidor integrado Azure Databricks Delta Sharing.

    No es necesario migrar todos los recursos a Unity Catalog. Solo necesita un área de trabajo de Azure Databricks que esté habilitada para Unity Catalog, para poder administrar los recursos que desea compartir. En algunas cuentas, las nuevas áreas de trabajo están habilitadas para Unity Catalog automáticamente. Consulte habilitación automática de Unity Catalog.

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

Recipients pueden consumir 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 Lectura de datos compartidos mediante el uso compartido abierto de Delta Sharing (para recipients) y el proyecto de código abierto de Delta Sharing.

  • En un área de trabajo Databricks. No es necesario habilitar las áreas de trabajo de los destinatarios para Unity Catalog, pero hay ventajas en gobernanza, simplicidad y rendimiento si están habilitadas.

    Las organizaciones de destinatarios que desean estas ventajas no necesitan migrar todos los recursos 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 están habilitadas para Unity Catalog automáticamente. Consulte habilitación automática de Unity Catalog.

Consulte Lectura de datos compartidos mediante el uso compartido abierto de Delta Sharing (para recipients) y Lectura de datos compartidos mediante Delta Sharing de Databricks a Databricks (para recipients).

¿Necesito ser cliente de Databricks para utilizar Delta Sharing?

No, Delta Sharing es un protocolo abierto. Puede compartir datos que no son de Databricks con recipients en cualquier plataforma de datos. Providers puede configurar un servidor delta sharing abierto para compartir desde cualquier plataforma informática. Recipients puede consumir datos compartidos mediante conectores de Delta Sharing de código abierto para muchos productos de datos, incluidos Power BI, pandas y Spark de código abierto.

Sin embargo, el uso compartido de Delta 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, que no incurre en cuotas de salida y proporciona otras herramientas y recomendaciones para supervisar y evitar tarifas de salida. Consulte Monitorización y gestión de los costos de salida de Delta Sharing (para providers).

¿Puede el destinatario de providersrevoke acceder?

Sí, el acceso de los destinatarios puede revocarse a petición y a niveles específicos de granularidad. Puede deny el acceso de un destinatario a direcciones IP específicas y shares específicas, filtrar datos en formato de tabla para un destinatario, revoke tokens de destinatario y eliminar recipients por completo. Consulte Revoke acceso de destinatario a un compartido y Crear y administrar datos recipients 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 les asigna a recipients que ya tienen acceso a los datos compartidos. Son seguros porque su duración es breve y no amplían el nivel de acceso más allá de lo que ya se le ha concedido a recipients.

¿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. Providers puede garantizar la seguridad de los tokens mediante la configuración de la duración del token, la configuración de controles de red y la revocación del acceso a petición. Además, el token no expande el nivel de acceso más allá de lo que los recipients ya han concedido. Consulte Consideraciones de seguridad para los tokens.

Si prefiere no usar tokens para administrar el acceso a los shares del destinatario, debe usar Recursos compartidos de Databricks a Databricks o póngase en contacto con el equipo de la cuenta de Databricks para obtener alternativas.

¿Delta Sharing permite compartir vistas?

Sí, Delta Sharing permite compartir vistas. Consulte Agregar views 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

Consulte también Matriz de compatibilidad de características de Delta Lake.

Cuotas de recursos

Azure Databricks aplica cuotas de recursos en todos los objetos protegibles de Delta Sharing. Estas cuotas se muestran en Límites de recursos. Si espera superar estos límites de recursos, póngase en contacto con el equipo de la cuenta de Azure Databricks.

Puede supervisar el uso de la cuota mediante las API de cuotas de recursos de Unity Catalog. Consulte Supervisión del uso de cuotas de recursos de Unity Catalog.

Pasos siguientes