Azure Synapse Analytics - Definiciones y creación

Hace tiempo que una herramienta de nivel Enterprise está introduciéndose al mercado de Data Platform. Una que busca integrar muchos servicios en una sola área de trabajo. Intenta resolver múltiples problemáticas de múltiples roles en un solo entorno para mantener el ambiente familiar en las distintas tareas que un equipo de datos debe manejar.

Seguramente ya escucharon nombrar a Azure Synapse Analytics. Este artículo nos ayudará a dar el salto e iniciarnos en la herramienta mostrándonos como crear uno. Así podremos estar preparados para posteriormente estudiar lo que nos provee en las distintas perspectivas de datos como los pipelines o tal vez notebooks. Quien sabe hasta capas que hablamos más detalladamente de Dedicated SQL Pool (antiguamente llamado warehouse)

¿Qué es Azure Synapse Analytics?

Microsoft lo define como un servicio de análisis empresarial que acelera el tiempo necesario para obtener información de los sistemas de almacenamientos de datos y de macrodatos. Azure Synapse reúne lo mejor de las tecnologías SQL que se usan en el almacenamiento de datos empresariales, las tecnologías de Spark que se utilizan para macrodatos, Data Explorer para análisis de serie temporal y de registro, Pipelines para la integración de datos y ETL/ELT, y la integración profunda con otros servicios de Azure, como Power BI, CosmosDB y AzureML.

image

Este servicio permitiría a los distintos roles de equipo de data trabajar en una misma plataforma. Podemos hacer ingesta, transformación y carga de datos. Tenemos notebooks y machine learning. Disponemos de sql serverless o dedicated sql pool (warehouse tradicional). Inclusive una exploración de datos basada en power bi.

NOTA: al crear el recurso el único costo que contiene es el de un storage account. A medida que demos uso posterior de los servicios de la plataforma (ejemplo correr pipelines) aparecen otros.

Para iniciarnos en este mundo maravilloso de un entorno de trabajo de synapse y analítica avanzada, vamos a buscar el recurso Azure Synapse Analytics.  Al momento de crearlo definimos la subscripción y grupo de recursos.

A modo de buena práctica podemos revisar las nomenclaturas sugeridas en este enlace:

El mismo cuenta que, para un Synapse Workspace, podemos usar el prefijo synw.

image

Toda área de trabajo de Synapse necesita un motor de almacenamiento. En este caso este espacio será controlado por una Storage Account también conocida como Data Lake Gen2. Antes de seguir vamos a crear un Lake. Este recurso tiene una particular opción que debemos prestar atención. El mismo synapse nos advierte de ella cuando nos posicionamos en el icono de información:

image

Mientras creamos el recurso podemos ponerle nombre, elegir la misma región y determinar la redundancia y plan. En este caso veamos el ejemplo con los menores costos.

image

Con los datos principales nos vamos a la prestaña advanced para activar el nombrado jerárquico que nos solicita synapse para que nuestro lago sea el file system en formato requerido.

image

Luego de crearlo necesitamos definir un file system dentro del lake. Esto podemos hacerlo desde el recurso que acabamos de crear o desde la interfaz que teníamos mientras creamos el área de trabajo.

image

Nombramos el área de trabajo y seguimos con la pestaña de seguridad para determinar el usuario y contraseña de acceso a los servicios de SQL Server que nos brinda la herramienta.

image

Finalmente podremos ir a nuestro recurso y abrir el espacio de trabajo para comenzar nuestros desarrollos. A partir de ese momento dispondremos las herramientas de Synapse Analytics para disfrutarlo.

image

Sería una buena práctica integrar nuestra área a un repositorio de DevOps o GitHub para persistir nuestros desarrollos, pero tengan cuidado en solo hacerlo si conocen o entienden de tecnología GIT puesto que si más de una persona desarrolla sobre synapse podrían aparecer conflictos en el repo.

Espero que esto los ayude a dar el primer salto para comenzar a usar Synapse Analytics. No te pierdas los próximos posts hablando de sus herramientas.