Selección de una tecnología de procesamiento por lotes en Azure

Las soluciones de macrodatos a menudo utilizan trabajos por lotes de ejecución prolongada para filtrar, agregar y preparan de otra forma los datos para su análisis. Normalmente, estos trabajos implican la lectura de archivos de origen desde el almacenamiento escalable (como HDFS, Azure Data Lake Store y Azure Storage), su procesamiento y la escritura del resultado en nuevos archivos en el almacenamiento escalable.

El requisito fundamental de estos motores de procesamiento por lotes es escalar los cálculos para controlar un gran volumen de datos. A diferencia del procesamiento en tiempo real, el procesamiento por lotes se espera que tenga las latencias (el tiempo transcurrido entre la ingesta de datos y calcular un resultado) que se miden en minutos y horas.

Opciones de tecnología para el procesamiento por lotes

Azure Synapse Analytics

Azure Synapse es un sistema distribuido diseñado para realizar análisis con datos de gran tamaño. Admite el procesamiento paralelo masivo (MPP), lo que lo hace idóneo para ejecutar análisis de alto rendimiento. Considere la posibilidad de usar Azure Synapse cuando tenga grandes cantidades de datos (más de 1 TB) y esté ejecutando una carga de trabajo de análisis que aprovecharía el paralelismo.

Análisis con Azure Data Lake

Data Lake Analytics es un servicio de trabajos de análisis a petición. Está optimizado para el procesamiento distribuido de conjuntos de datos grandes almacenados en Azure Data Lake Store.

  • Lenguajes: U-SQL (incluidas las extensiones de Python, R y C#).
  • Se integra con Azure Data Lake Store, los blobs de Azure Storage, Azure SQL Database y Azure Synapse.
  • El modelo de precios es por trabajo.

HDInsight

HDInsight es un servicio de Hadoop administrado. Se usa para implementar y administrar clústeres de Hadoop en Azure. Para el procesamiento por lotes, puede usar Spark, Hive, Hive LLAP y MapReduce.

  • Lenguajes: R, Python, Java, Scala y SQL
  • Autenticación Kerberos con Active Directory y control de acceso basado en Apache Ranger
  • Proporciona control completo del clúster de Hadoop

Azure Databricks

Azure Databricks es una plataforma de análisis basada en Apache Spark. Puede considerarlo como "Spark como un servicio". Es la manera más fácil de usar Spark en la plataforma Azure.

  • Lenguajes: R, Python, Java, Scala y Spark SQL
  • Horas de inicio rápido del clúster, terminación automática, escalado automático.
  • Administra automáticamente el clúster de Spark.
  • Integración incorporada con Azure Blob Storage, Azure Data Lake Storage (ADLS), Azure Synapse y otros servicios. Consulte Orígenes de datos.
  • Autenticación de usuario con Microsoft Entra ID.
  • Cuadernos web para la exploración de datos y la colaboración.
  • Admite clústeres con GPU habilitado

Principales criterios de selección

Para restringir las opciones, empiece por responder a estas preguntas:

  • ¿Quiere un servicio administrado en lugar de administrar sus propios servidores?

  • ¿Desea crear la lógica del procesamiento por lotes de forma declarativa o imperativa?

  • ¿Realizará el procesamiento por lotes en ráfagas? Si es así, considere el uso de opciones que le permitan terminar automáticamente el clúster o cuyo modelo de precios se por trabajo por lotes.

  • ¿Necesita consultar almacenes de datos relacionales junto con procesamiento por lotes, por ejemplo, para buscar datos de referencia? En caso afirmativo, considere la posibilidad de usar opciones que permita la realización de consultas en almacenes relacionales externos.

Matriz de funcionalidades

En las tablas siguientes se resumen las diferencias clave en cuanto a funcionalidades.

Funcionalidades generales

Capacidad Análisis con Azure Data Lake Azure Synapse HDInsight Azure Databricks
Es un servicio administrado 1
Almacenes de datos relacionales No
Modelo de precios Por trabajo por lotes Por hora de clúster Por hora de clúster Unidad de Databricks2 + hora de clúster

[1] Con configuración manual.

[2] Una unidad de Databricks (DBU) es una unidad de funcionalidad de procesamiento por hora.

Funcionalidades

Capacidad Análisis con Azure Data Lake Azure Synapse HDInsight con Spark HDInsight con Hive HDInsight con Hive LLAP Azure Databricks
Escalado automático No No
Granularidad de escalabilidad horizontal Por trabajo Por clúster Por clúster Por clúster Por clúster Por clúster
Admite el almacenamiento en caché en memoria de datos No No
Consulta de almacenes relacionales externos No No No
Autenticación Microsoft Entra ID SQL/Microsoft Entra ID No Microsoft Entra ID1 Microsoft Entra ID1 Microsoft Entra ID
Auditoría No 1 1
Seguridad de nivel de fila No 2 No 1 1
Admite firewalls 3 3
Enmascaramiento de datos dinámicos No No 1 1

[1] Requiere el uso de un clúster de HDInsight unido a un dominio.

[2] Solo predicados de filtro. Vea Seguridad de nivel de fila.

[3] Se admite cuando se usa en una instancia de Azure Virtual Network.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

Pasos siguientes