Diseño de una solución de ingesta de datos
Para mover y transformar datos, puede usar una canalización de ingesta de datos. Una canalización de ingesta de datos es una secuencia de tareas que mueven y transforman los datos. Al crear una canalización, puede elegir desencadenar las tareas manualmente o programar la canalización cuando desee automatizarlas.
Creación de una canalización de ingesta de datos
Para crear una canalización de ingesta de datos, puede elegir qué servicio de Azure usar.
Azure Synapse Analytics
Un enfoque que se usa habitualmente para crear y ejecutar canalizaciones para la ingesta de datos es la característica de integración de datos de Azure Synapse Analytics, también conocida como canalizaciones de Azure Synapse. Con canalizaciones de Azure Synapse, puede crear y programar canalizaciones de ingesta de datos mediante la interfaz de usuario fácil de usar o la definición de la canalización en formato JSON.
Al crear una canalización de Azure Synapse, puede copiar fácilmente datos de un origen a un almacén mediante uno de los muchos conectores estándar.
Sugerencia
Más información sobre la Actividad de copia en Azure Data Factory y Azure Synapse Analytics.
Para agregar una tarea de transformación de datos a la canalización, puede usar una herramienta de interfaz de usuario como el flujo de datos de asignación o usar un lenguaje como SQL, Python o R.
Azure Synapse Analytics permite elegir entre diferentes tipos de proceso que pueden controlar grandes transformaciones de datos a escala: grupos de SQL sin servidor, grupos de SQL dedicados o grupos de Spark.
Sugerencia
Más información sobre cómo realizar la integración de datos a escala con Azure Data Factory o canalización de Azure Synapse.
Azure Databricks
Siempre que prefiera una herramienta de código primero y usar SQL, Python o R para crear las canalizaciones, también puede usar Azure Databricks. Azure Databricks permite definir las canalizaciones en un cuaderno, que puede programar para que se ejecute.
Azure Databricks usa clústeres de Spark, que distribuyen el proceso para transformar grandes cantidades de datos en menos tiempo que cuando no se usa el proceso distribuido.
Sugerencia
Más información sobre la Ingeniería de datos con Azure Databricks y la Preparación de datos para el aprendizaje automático con Azure Databricks
Azure Machine Learning
Azure Machine Learning proporciona clústeres de proceso, que se escalan y reducen verticalmente de forma automática cuando es necesario. Puede crear una canalización con el Diseñador o mediante la creación de una colección de scripts. Aunque las canalizaciones de Azure Machine Learning se usan normalmente para entrenar modelos de aprendizaje automático, también puede usarla para extraer, transformar y almacenar los datos como preparación para entrenar un modelo de Machine Learning.
Siempre que quiera realizar todas las tareas dentro de la misma herramienta, la creación y programación de una canalización de Azure Machine Learning para ejecutarse con el clúster de proceso a petición puede adaptarse mejor a sus necesidades.
Pero Azure Synapse Analytics y Azure Databricks ofrecen un proceso más escalable que permite que las transformaciones se distribuyan entre nodos de proceso. Por lo tanto, las transformaciones de datos pueden funcionar mejor al ejecutarlas con Azure Synapse Analytics o Azure Databricks que con Azure Machine Learning.
Diseño de una solución de ingesta de datos
Una ventaja de usar tecnologías en la nube es la flexibilidad de crear y usar los servicios que mejor se adapten a sus necesidades. Para crear una solución, puede vincular los servicios entre sí y representar la solución en una arquitectura.
Por ejemplo, un enfoque común para una solución de ingesta de datos es el siguiente:
- Extraer los datos sin procesar de su origen (como un sistema CRM o un dispositivo IoT).
- Copiar y transformar los datos con Azure Synapse Analytics.
- Almacenar los datos preparados en Azure Blob Storage.
- Entrenar el modelo con Azure Machine Learning.
Se recomienda pensar en la arquitectura de una solución de ingesta de datos antes de entrenar el modelo. Pensar en cómo los datos se extraen y preparan de forma automática para el entrenamiento del modelo le ayudará a prepararse cuando el modelo esté listo para ir a producción.