DEV Community

Cover image for DeltaSharing en Databricks
Andres
Andres

Posted on

DeltaSharing en Databricks

les cuento que en el sprint anterior, tuvimos un nuevo requerimiento dentro del proyecto el cual estamos trabajando, se queria exponer una tabla del catálogo de Databricks hacia un servicio externo.
Normalmente este proceso se había realizado de Databricks to databricks, pero este requerimiento fue algo nuevo para el proyecto.

La solución, Delta Sharing, antes de mostrarles cómo se solucionó hablemos un poco de este protocolo.

En el mundo actual impulsado por los datos, el intercambio de datos seguro y sin problemas entre organizaciones y plataformas es crucial. Delta Sharing, un protocolo abierto desarrollado por Databricks, aborda esta necesidad al permitir el intercambio de datos seguro y eficiente. Este protocolo permite a los proveedores de datos compartir datos en vivo directamente con sus consumidores sin la necesidad de complejas canalizaciones de datos o replicación de datos.

Delta Sharing aprovecha el poder de Delta Lake, asegurando que los datos compartidos estén siempre actualizados y sean consistentes. Admite una amplia gama de formatos de datos e integra perfectamente con varias herramientas y plataformas de datos, lo que lo convierte en una solución versátil para la colaboración de datos moderna.

En esta publicación, exploraremos las características clave de Delta Sharing, sus beneficios y cómo puedes comenzar a implementarlo en tu entorno de Databricks. Ya seas un proveedor de datos que busca compartir tus conjuntos de datos o un consumidor de datos que desea acceder a datos compartidos sin esfuerzo, Delta Sharing ofrece una solución robusta y escalable para satisfacer tus necesidades.

Ahora si a lo que vinimos.

Inicialmente debemos crear un Share :

CREATE SHARE IF NOT EXISTS recipiente_share;
Enter fullscreen mode Exit fullscreen mode

una vez creado, podemos ver todos los que se han creado con este código :

SHOW SHARES
Enter fullscreen mode Exit fullscreen mode

Luego es necesario crear un destinatario :

CREATE RECIPIENT IF NOT EXISTS BigQueryDataConsumer
COMMENT "delta Sharing With BigQuery"
Enter fullscreen mode Exit fullscreen mode

podemos ver todos los destinatarios creados:

SHOW RECIPIENTS;
Enter fullscreen mode Exit fullscreen mode

Es necesario darle los permisos de consulta a este destinatario:

GRANT SELECT 
ON SHARE recipiente_share
TO RECIPIENT BigQueryDataConsumer
Enter fullscreen mode Exit fullscreen mode

una vez creado el destinatario y con los permisos necesarios, podemos ver el detalle de este:

DESCRIBE RECIPIENT bigquerydataconsumer
Enter fullscreen mode Exit fullscreen mode

Alli nos registra informacion detallada, sin embargo para el ejercicio el mas importante es el "activation_link":

Image description

esta url nos va a entregar un archivo con las él token y el endpoint para lograr llegar a la tabla:

Image description

Esta información es la que vamos a utilizar para lograr la conexión desde los diferentes servicios.

Image description

¡¡¡Gracias!!!

Top comments (0)