Sistema de análisis de big data (Apache Spark)

El patrón de implementación de Apache Spark pretende llevar el análisis espacial a un entorno familiar para los científicos de datos que utilizan una biblioteca Spark, permitiéndoles agregar valor mediante funciones y procesos espaciales en flujos de trabajo de análisis nuevos o ya existentes. Apache Spark proporciona funcionalidades de cómputo distribuido que admiten el acceso a un amplio rango de datasets, un robusto conjunto de funcionalidades de biblioteca, la posibilidad de explorar e interactuar con análisis estructurados y la posibilidad de producir resultados que puedan ser aprovechados por una parte interesada o un proceso de negocio posterior.

La biblioteca de Spark proporcionada por Esri que potencia el patrón de sistema de análisis de big data en Apache Spark es ArcGIS GeoAnalytics Engine. ArcGIS GeoAnalytics Engine utiliza Apache Spark para acceder a más de 150 herramientas y funciones geoanalíticas nativas de la nube para comprender tendencias, patrones y correlaciones. ArcGIS GeoAnalytics Engine puede instalarse en un equipo personal o en un clúster de Spark independiente, aunque la mayoría de las organizaciones tienden a utilizar servicios de Spark administrados en la nube. Estos entornos gestionados en la nube simplifican el procesamiento de big data, logran escalabilidad, optimizan los costes, aprovechan funcionalidades analíticas avanzadas, garantizan la seguridad y el cumplimiento normativo y se benefician de los servicios gestionados y la asistencia que ofrecen los proveedores de la nube. Entre ellos se incluyen Amazon EMR, Databricks, Azure Synapse Analytics, Google Cloud Dataproc y Microsoft Fabric.

Además de ArcGIS GeoAnalytics Engine, Esri ofrece una biblioteca de Spark alternativa para el análisis espacial de big data denominada Big Data Toolkit. El Big Data Toolkit (BDT) es una solución de Esri Professional Services que ofrece algunas funcionalidades únicas y puede ser apropiado en determinados escenarios que tengan requisitos para ampliar las funciones y herramientas espaciales con funcionalidades mejoradas. Consulte las funcionalidades ampliadas para obtener más información.

Recursos relacionados:

Arquitectura base

A continuación se muestra una arquitectura base típica para un sistema de análisis de macrodatos con Apache Spark.

Este diagrama no debe tomarse tal cual y utilizarse como diseño para su sistema. Hay muchos factores importantes y opciones de diseño que deben tenerse en cuenta al diseñar su sistema. Consulte el tema de uso de patrones de sistema para obtener más información. Además, el diagrama que se muestra a continuación solo muestra las funcionalidades básicas del sistema; es posible que se necesiten componentes del sistema adicionales para obtener funcionalidades ampliadas.

Arquitectura base del sistema de análisis de big data (Apache Spark)

Las funcionalidades representadas arriba reflejan las disponibles en julio de 2025.

Entre los componentes clave de esta arquitectura están:

  • La base del sistema de análisis de big data es un entorno de Apache Spark. El entorno de Spark contiene clústeres de nodos que ejecutan tareas de análisis distribuidas. ArcGIS GeoAnalytics Engine puede funcionar en varios entornos de Spark, incluidas las implementaciones locales, las implementaciones en clústeres y los servicios de Spark administrados en la nube. Los servicios de Spark administrados admitidos son Amazon EMR, Azure Synapse Analytics, Google Cloud Dataproc, Databricks y Microsoft Fabric. Estas opciones proporcionan una ruta de implementación para las organizaciones que ya están ejecutando cargas de trabajo en un entorno de nube existente, incluidos los proveedores de nube Amazon Web Services (AWS), Google Cloud Platform (GCP) y Microsoft Azure.
  • ArcGIS GeoAnalytics Engine es un plug-in de Spark y un conjunto de funciones y herramientas que se ejecutan en los nodos de un clúster de Apache Spark. Las tareas de análisis espacial se envían desde el controlador Spark a los ejecutores de Spark, donde se realiza el trabajo de análisis. Los ejecutores de Spark son administrados por un gestor de clústeres de Spark. ArcGIS GeoAnalytics Engine admite administradores de clústeres Standalone, Apache Mesos, Hadoop YARN y Kubernetes. Más información sobre el modo de clúster de Spark de ArcGIS GeoAnalytics Engine.
  • GeoAnalytics Engine admite cargar y guardar datos de algunas fuentes de datos espaciales comunes, además de las fuentes de datos admitidas por Spark. Entre ellos están, entre otros, datos en almacenes de archivos, almacenes de objetos, lagos de datos y bases de datos (DBMS). Más información sobre los data store admitidos y las fuentes de datos admitidas.
  • GeoAnalytics Engine amplía PySpark, la interfaz de Python para Spark, y utiliza DataFrames de Spark junto con tipos de datos geométricos personalizados para representar datos espaciales. GeoAnalytics Engine viene con varias extensiones de DataFrame para leer de fuentes de datos espaciales como shapefiles y servicios de entidades, además de cualquier fuente de datos que PySpark admita. GeoAnalytics Engine también incluye dos módulos básicos para manipular DataFrames: funciones SQL y herramientas. Los usuarios suelen interactuar con el sistema de análisis de big data a través de notebooks de Python que ejecutan Python desde su entorno de análisis de datos. Más información sobre los primeros pasos con ArcGIS GeoAnalytics Engine.

Entre las interacciones clave en esta arquitectura están:

  1. El código Python de PySpark, normalmente desarrollado en un notebook de Python que se ejecuta dentro del entorno de análisis de datos, se empaqueta como una aplicación y se envía al clúster de Spark. El envío del trabajo al clúster de Spark se realiza normalmente a través de TCP. Más información sobre el envío de solicitudes de Spark.
  2. La comunicación entre ArcGIS GeoAnalytics Engine y los data stores es bidireccional, lo que permite tanto acceder a los datos como guardarlos desde una serie de data stores admitidos. Las especificaciones técnicas de esa comunicación dependerán del tipo de data store que se utilice. Para más información, consulte el almacenamiento de datos de ArcGIS GeoAnalytics Engine.

Encontrará información adicional sobre la interacción entre ArcGIS GeoAnalytics Engine y el entorno Apache Spark en la documentación de producto ArcGIS GeoAnalytics Engine.

Capacidades

A continuación, se describen las funcionalidades del sistema de análisis de big data sobre Apache Spark.

Funcionalidades básicas

Las funcionalidades básicas representan las capacidades más comunes que ofrecen los sistemas de análisis de big data y que están habilitadas por la arquitectura de base presentada anteriormente.

Funcionalidades extendidas

Las funcionalidades extendidas se agregan normalmente para satisfacer necesidades específicas o para admitir modelos de datos y soluciones específicos del sector, y pueden requerir componentes de software adicionales o consideraciones arquitectónicas.

Consideraciones

Las consideraciones que se exponen a continuación aplican los pilares del marco ArcGIS Well-Architected Framework al sistema de análisis de big data en Apache Spark. La información aquí presentada no pretende ser exhaustiva, sino más bien destacar las consideraciones clave para diseñar y/o implementar esta combinación específica de sistema y patrón de implementación. Más información sobre los pilares de arquitectura del marco ArcGIS Well-Architected Framework.

Fiabilidad

La fiabilidad garantiza que su sistema proporcione el nivel de servicio requerido por la compañía, así como por sus clientes y partes interesadas. Para obtener más información, consulte la descripción general del pilar de fiabilidad.

  • La fiabilidad la gestiona casi por completo el entorno de Apache Spark. Hay muchos factores a tener en cuenta, como la selección de un administrador de clústeres, que también variará significativamente en función de dónde esté instalado Spark (local, clúster o servicio en la nube administrado).
  • Los acuerdos de nivel de servicio son menos comunes con los sistemas de análisis de big data que con otros sistemas.

Seguridad

La seguridad protege sus sistemas y su información. Para obtener más información, consulte la descripción general del pilar de seguridad.

  • La autorización para utilizar un sistema de análisis de big data se admite utilizando el nombre de usuario y la contraseña o un archivo de licencia proporcionado por Esri.
  • La autenticación, el cifrado, el registro y otras consideraciones de seguridad suelen gestionarse fuera del software ArcGIS GeoAnalytics Engine, ya sea en las fuentes de datos o en el entorno de Apache Spark. Más información sobre la seguridad de Spark.

Rendimiento y escalabilidad

El rendimiento y la escalabilidad tienen como objetivo optimizar la experiencia general de los usuarios con el sistema, así como garantizar que este se adapte a las demandas cambiantes de la carga de trabajo. Para obtener más información, consulte la descripción general del pilar de rendimiento y escalabilidad.

  • La ventaja de utilizar entornos basados en Apache Spark es su funcionalidad de cómputo distribuido. Muchas organizaciones cuentan con administradores de entornos gestionados en la nube que comprenden los conceptos de control de la escala de los recursos de cómputo utilizados por los clústeres y los análisis gestionados. No hay nada intrínsecamente diferente en lo que respecta al análisis espacial de big data. La realización de análisis a escala conlleva un coste. Las organizaciones deben realizar un análisis de costes y beneficios para determinar el cómputo que desean asignar al análisis espacial.

Más información sobre la puesta a punto de Spark.

Automatización

La automatización tiene como objetivo reducir el esfuerzo dedicado a la implementación manual y a las tareas operativas, lo que conduce a una mayor eficiencia operativa, así como a la reducción de las anomalías del sistema introducidas por las personas. Para obtener más información, consulte la descripción general del pilar de automatización.

  • El análisis es con frecuencia iterativo, lo que requiere la revisión e intervención humana entre las ejecuciones del análisis. Sin embargo, hay situaciones en las que puede ser necesario automatizar y/o programar la ejecución de los análisis.
    • Los entornos Apache Spark administrados en la nube, que ofrecen opciones de automatización adicionales y pueden ayudar a simplificar las operaciones y el uso en general, se utilizan con mucha frecuencia.
    • Dado que la aplicación o interfaz principal del sistema de análisis de big data es Python, y Apache Spark proporciona un script para enviar las aplicaciones al cluster, la automatización de los envíos de análisis es sencilla y flexible.
    • Los administradores de clústeres de Spark también admiten la programación de trabajos entre aplicaciones. Existen diferentes opciones de administradores de clústeres y servicios Spark gestionados en la nube, muchos de los cuales ofrecen distintas funcionalidades.

Integración

La integración conecta este sistema con otros para prestar servicios empresariales y amplificar la productividad de la organización. Para obtener más información, consulte la descripción general del pilar de integración.

Observabilidad

La observabilidad proporciona visibilidad del sistema, habilitando al personal de operaciones y a otros roles técnicos para mantener el sistema funcionando en un estado saludable y estable. Para obtener más información, consulte la descripción general del pilar de observabilidad.

  • La observabilidad de un sistema de administración de big data en Apache Spark suele centrarse en la comprensión del uso y el rendimiento de la infraestructura subyacente, así como en la obtención de visibilidad sobre el estado y el progreso de los grandes trabajos analíticos por lotes. Los planteamientos para la monitorización del uso y el rendimiento de la infraestructura subyacente dependerán del entorno Apache Spark que se utilice. Los entornos administrados en la nube son populares en parte debido a sus puntos fuertes en el área de la observabilidad. La monitorización de los trabajos de Apache Spark corre a cargo de Apache Spark.

Otro

Entre las consideraciones adicionales para el diseño y la implementación de un sistema de análisis de big data en Apache Spark se incluyen:

  • Para que funcione correctamente se requiere una gran comprensión y compromiso con Apache Spark. También se requiere una sólida comprensión de los conceptos de big data, datos distribuidos y análisis.

Recursos relacionados:

Top