Ejercicio: Identificación de los componentes de la arquitectura de almacenamiento de datos moderno

Completado

El almacenamiento de datos es mucho más que simplemente almacenar datos empresariales. Los datos crecen a una velocidad exponencial, año tras año. No se trata solo del volumen de los datos, sino de la variedad: desde estructurados a semiestructurados y, a un grado mayor, incluso los no estructurados deben administrarse. La velocidad y la variedad de datos conducen a desafíos de ingeniería de datos cuando se trata de ingesta, transformación y preparación de los datos para el aprendizaje automático, informes y otros fines.

El almacenamiento de datos moderno sirve para abordar estos desafíos. Un buen almacenamiento de datos agrega valor, como actuar como una ubicación central para todos los datos, escalado con los datos a medida que estos crecen con el tiempo, y proporciona herramientas y ecosistemas conocidos para los ingenieros de datos, analistas de datos, científicos de datos y desarrolladores.

Echemos un vistazo a cada uno de estos elementos en detalle.

Un lugar para todos los datos

Con un almacenamiento de datos moderno, tenemos un centro para todos los datos al usar Synapse Analytics.

Synapse Analytics le permite ingerir datos de varios orígenes de datos mediante sus canalizaciones de orquestación.

  1. Seleccione el centro de integración.

    Navigating hubs in Azure Synapse Studio

    Administre las canalizaciones de integración dentro del centro de integración. Si ya conoce Azure Data Factory (ADF), con en este centro se sentirá como en casa. La experiencia de creación de canalizaciones es la misma que en ADF, lo que le ofrece otra integración eficaz integrada en Azure Synapse Analytics. De este modo, se elimina la necesidad de usar Azure Data Factory para las canalizaciones de movimiento y transformación de datos.

  2. Expanda Canalizaciones y seleccione Customize EMail Analytics (Personalizar análisis de correo electrónico) (1). Seleccione la actividad Copiar datos en el lienzo (2), luego la pestaña Origen(3) y, por último, Vista previa de datos (4).

    Viewing pipeline source data in Azure Synapse Studio

    Aquí se ven los datos de origen CSV que la ingiere la canalización.

    Previewing pipeline source data in Azure Synapse Studio

  3. Cierre la vista previa y, después, seleccione Abrir junto al conjunto de datos de origen CustomEmailAnalytics.

    Open source data in Azure Synapse Studio

  4. Muestre el servicio vinculado asociado a la conexión del conjunto de datos, así como la ruta de acceso del archivo CSV (1). Cierre (2) el conjunto de datos para volver a la canalización.

    View linked service in Azure Synapse Studio

  5. En la canalización, seleccione la pestaña Receptor(1). Se selecciona el método de copia de inserción masiva y hay un script anterior a la copia que trunca la tabla EmailAnalytics, que se ejecuta antes de copiar los datos del origen CSV (2). Seleccione Abrir junto al conjunto de datos de receptor EmailAnalytics(3).

    View sink in Azure Synapse Studio

  6. El servicio vinculado es el grupo de SQL de Azure Synapse Analytics y la tabla es EmailAnalytics (1). La actividad Copiar datos de la canalización usa los detalles de conexión de este conjunto de datos para copiar datos desde el origen de datos CSV al grupo de SQL. Seleccione Vista previa de datos (2).

    Preview sink in Azure Synapse Studio

    Se puede ver que la tabla ya contiene datos, lo que significa que se ha ejecutado correctamente la canalización anteriormente.

    Preview sink data in Azure Synapse Studio

  7. Cierre el conjunto de datos EmailAnalytics.

    Close dataset in Azure Synapse Studio

  8. Seleccione la pestaña Asignación. Aquí es donde se configura la asignación entre los conjuntos de valores de origen y receptor. El botón Import schemas (Importar esquemas) intenta deducir el esquema de los conjuntos de datos si se basan en orígenes de datos no estructurados o semiestructurados, como archivos CSV o JSON. Además, lee el esquema de los orígenes de datos estructurados, como los grupos de SQL de Synapse Analytics. También tiene la opción de crear manualmente la asignación de esquemas haciendo clic en + Nueva asignación o modificando los tipos de datos.

    The mapping tab in Azure Synapse Studio

  9. Seleccione la canalización MarketingDBMigration (1). Dirija su atención al lienzo de la canalización (2).

    The MarketingDBMigration pipeline in Azure Synapse Studio

    Esta canalización es la responsable de copiar los datos de una base de datos de Teradata. La primera actividad es una búsqueda (2) para asegurarse de que los datos de origen existen. Si hay datos, fluyen a la actividad de copia de datos (3) para trasladar los datos de origen al lago de datos (origen de datos principal de ADLS Gen2). El siguiente paso es una actividad de cuaderno (4), que usa Apache Spark dentro de un cuaderno de Synapse para realizar tareas de ingeniería de datos. El último paso es otra actividad de copia de datos (5) que carga los datos preparados y los almacena en una tabla de grupo de SQL de Azure Synapse.

    Este flujo de trabajo es común cuando se lleva a cabo la orquestación de movimiento de datos. Las canalizaciones de Synapse Analytics facilitan la definición de los pasos de movimiento y transformación de datos, y los encapsulan en un proceso repetible que se puede mantener y supervisar dentro del almacenamiento de datos moderno.

  10. Seleccione la canalización SalesDBMigration (1). Dirija su atención al lienzo de la canalización (2).

    The SalesDBMigration pipeline in Azure Synapse Studio

    Este es otro ejemplo de una canalización de orquestación de movimiento de datos que nos ayuda a combinar orígenes de datos externos en nuestro almacén. En este caso, se cargan datos de una base de datos de ventas de Oracle en una tabla de grupo de SQL de Azure Synapse.

  11. Seleccione la canalización SAP HANA TO ADSL. Esta canalización copia los datos de un origen de datos SAP HANA financiero en el grupo de SQL.

  12. Haga clic en el botón + situado en la parte superior de la hoja Organizar y, después, seleccione Canalización para crear una canalización.

    Add a pipeline in Azure Synapse Studio

    Cuando se abre la nueva canalización, aparece la hoja Propiedades(1), lo que le permite asignar un nombre a la canalización (2).

    Pipeline properties in Azure Synapse Studio

  13. Expanda el grupo de actividad Mover y transformar y, después, arrastre la actividad Copiar datos al lienzo de diseño (1). Con la actividad Copiar datos seleccionada, seleccione la pestaña Origen(2) y, después, + Nuevo (3) junto al conjunto de datos de origen.

    Copy data in Azure Synapse Studio

  14. Desplácese por la lista de orígenes de conjuntos de datos para mostrar el gran número de conexiones de datos que tiene a su disposición y, después, haga clic en Cancelar.

    New dataset in Azure Synapse Studio

Escala de datos ilimitada

  1. Seleccione el centro de administración.

    Navigating hubs in Azure Synapse Studio

  2. Seleccione grupos de SQL (1). Mantenga el mouse sobre SQLPool01 y haga clic en el botón Escala(2).

    Manage SQL Pools in Azure Synapse Studio

  3. Arrastre el control deslizante de nivel de rendimiento a la derecha y a la izquierda.

    Scaling SQL Pools in Azure Synapse Studio

    Puede escalar o reducir horizontalmente el proceso ajustando el número de unidades de almacenamiento de datos (DWU) asignadas a su grupo de SQL. Esto ajusta el rendimiento de las consultas y las cargas de forma lineal a medida que se agregan más unidades.

    Para realizar una operación de escalado, el grupo de SQL primero termina con todas las solicitudes de entrada y, luego, revierte las transacciones para garantizar un estado coherente. El escalado solo se produce una vez finalizada la reversión de la transacción.

    Puede escalar el proceso de SQL en cualquier momento mediante este control deslizante. También puede ajustar mediante programación las unidades de almacenamiento de datos, lo que permite escenarios en los que se escala automáticamente el grupo según una programación u otros factores.

  4. Cancele el cuadro de diálogo Escalar y, después, seleccione Grupos de Apache Spark (1) en el menú de la izquierda del centro de administración. Mantenga el mouse sobre SparkPool01 y seleccione el botón Configuración de escalado automático(2).

    Cancel scaling SQL Pools in Azure Synapse Studio

  5. Arrastre el control deslizante Número de nodos a la derecha y a la izquierda.

    Configure SQL Pool nodes in Azure Synapse Studio

    Puede configurar el grupo de Apache Spark para que tenga un tamaño fijo deshabilitando la configuración de escalado automático. Aquí se ha habilitado el escalado automático y se ha establecido el número mínimo y máximo de nodos para controlar la cantidad de escala aplicada. Al habilitar el escalado automático, Synapse Analytics supervisa los requisitos de recursos de la carga y escala o reduce verticalmente el número de nodos. Para ello, supervisa continuamente la CPU pendiente, la memoria pendiente, la CPU libre, la memoria libre y la memoria usada por métricas de nodo. Comprueba estas métricas cada 30 segundos y toma decisiones de escalado basadas en los valores.

    Una operación de escalado puede tardar entre 1 y 5 minutos en completarse.

  6. Cancele el cuadro de diálogo de escalado automático y, después, seleccione Servicios vinculados (1) en el menú de la izquierda del centro de administración. Tome nota de la cuenta de almacenamiento de ADLS Gen2 de WorkspaceDefaultStorage(2).

    View linked services in Azure Synapse Studio

    Al aprovisionar una nueva área de trabajo de Azure Synapse Analytics, se define la cuenta de almacenamiento predeterminada de Azure Data Lake Storage Gen2. Data Lake Storage Gen2 convierte a Azure Storage en los cimientos para crear lagos de datos empresariales en Azure. Diseñado desde el principio para servir varios petabytes de información y mantener cientos de gigabits de rendimiento, Data Lake Storage Gen2 le ofrece una forma fácil de administrar cantidades masivas de datos.

    Su espacio de nombres jerárquico organiza los archivos en una jerarquía de directorios para obtener un acceso eficaz y una seguridad más granular, hasta el nivel de archivo.

    ADLS Gen2 proporciona una escala prácticamente ilimitada para su lago de datos. Puede adjuntar cuentas de ADLS Gen2 adicionales para obtener mayor escala y flexibilidad según sea necesario.

Herramientas y ecosistema conocidos

  1. Seleccione el centro de desarrollo.

    Navigating hubs in Azure Synapse Studio

  2. Expanda Scripts SQL y seleccione 1 SQL Query With Synapse (1). Asegúrese de estar conectado a SQLPool01 (2). Resalte (3) la primera línea del script y ejecútela. Observe que el número de registros de la tabla Sales es 3 443 486 (4).

    Execute sql scripts in Azure Synapse Studio

    Si ejecutamos la primera línea en este script SQL, podemos ver que contiene casi 3,5 millones de filas.

  3. Resalte el resto del script (líneas de la 8 a la 18) y ejecútelas.

    View a sql script in Azure Synapse Studio

    Una de las ventajas de usar un almacenamiento de datos moderno como Synapse Analytics es que se pueden combinar todos los datos en un solo lugar. El script que acabamos de ejecutar combina los datos de una base de datos de ventas, un catálogo de productos, clientes millennial extraídos de datos demográficos y Twitter.

  4. Seleccione el script 2 JSON Extractor (1) y asegúrese de que aún está conectado a SQLPool01. Resalte la primera instrucción SELECT (2) (línea 3). Observe que los datos almacenados en la columna TwitterData(3) están en formato JSON.

    View JSON data in Azure Synapse Studio

    Azure Synapse permite almacenar JSON en formato de texto estándar. Use el lenguaje SQL estándar para consultar datos JSON.

  5. Resalte la siguiente instrucción SQL (líneas de la 8 a la 15) y ejecute.

    Select JSON data in Azure Synapse Studio

    Se pueden usar funciones JSON, como JSON_VALUE y ISJSON para extraer los datos JSON y extraerlos a columnas estructuradas específicas.

  6. Resalte la siguiente instrucción SQL (líneas de la 21 a la 29) y ejecute.

    Filter JSON data in Azure Synapse Studio

    Queremos filtrar por el hashtag #sunglassess. Esta consulta captura y extrae los datos JSON en columnas estructuradas y, después, filtra en la columna Hashtag derivada.

    El último script hace lo mismo, pero simplemente con un formato de subconsulta.

  7. Seleccione el script 8 External Data To Synapse Via Copy Into (1). NO LO EJECUTE. Desplácese por el archivo de script con el comentario siguiente para explicar lo que hace.

    Create a table in Azure Synapse Studio

    En este script, se crea una tabla para almacenar los datos de Twitter almacenados en archivos Parquet. Se usa el comando COPY para cargar de forma rápida y eficaz todos los datos almacenados en archivos Parquet en la nueva tabla.

    Por último, se seleccionan las 10 primeras filas para comprobar la carga de datos.

    El comando COPY y PolyBase se pueden usar para importar datos de varios formatos en el grupo de SQL, ya sea mediante scripts T-SQL, como vemos aquí, o desde canalizaciones de orquestación.

  8. Seleccione el centro de datos.

    Navigating hubs in Azure Synapse Studio

  9. Seleccione la pestaña Vinculados (1), expanda el grupo de Azure Data Lake Storage Gen2, expanda la cuenta de almacenamiento principal y, después, seleccione el contenedor twitterdata(2). Haga clic con el botón derecho en dbo.TwitterAnalytics.parquet (3) y, después, seleccione Nuevo cuaderno (4).

    View parquet data in Azure Synapse Studio

    Synapse Studio proporciona varias opciones para trabajar con archivos almacenados en cuentas de almacenamiento asociadas, como la creación de un nuevo script SQL, un cuaderno, un flujo de datos o un nuevo conjunto de datos.

    Los cuadernos de Synapse permiten aprovechar la eficacia de Apache Spark para explorar y analizar datos, realizar tareas de ingeniería de datos y realizar ciencia de datos. La autenticación y autorización con servicios vinculados, como la cuenta de almacenamiento de Data Lake Storage principal, están totalmente integradas, lo que le permite empezar a trabajar inmediatamente con archivos sin tener que encargarse de las credenciales de la cuenta.

    Aquí vemos un nuevo cuaderno que carga una trama de datos de Spark (1) con el archivo Parquet en el que hemos hecho clic con el botón derecho en el centro de datos. Podemos empezar a explorar el contenido del archivo inmediatamente simplemente con un par de pasos sencillos. En la parte superior del cuaderno, vemos que está conectado a SparkPool01, nuestro grupo de Spark, y el lenguaje del cuaderno está establecido en Python (2).

    No ejecute el cuaderno a menos que el grupo de Spark esté listo (3). Si el grupo está inactivo, puede tardar hasta 5 minutos en iniciarse. Como alternativa, puede ejecutar el cuaderno y volver a él más adelante para ver los resultados.

    Execute a notebook in Azure Synapse Studio