Система аналитики больших данных (Apache Spark)
Шаблон развертывания Apache Spark направлен на то, чтобы перенести пространственную аналитику в привычную среду для специалистов по обработке и анализу данных, использующих библиотеку Spark, что позволит им повысить ценность с помощью пространственных функций и процессов в новых или существующих рабочих процессах аналитики. Apache Spark предоставляет распределенные вычислительные возможности, которые поддерживают доступ к широкому спектру наборов данных, надежный набор библиотечных возможностей, возможность изучения структурированной аналитики и взаимодействия с ней, а также возможность получения результатов, которые могут быть использованы заинтересованными сторонами или последующими бизнес-процессами.
Предоставляемая Esri библиотека Spark, которая поддерживает системный шаблон анализа больших данных в Apache Spark, называется ArcGIS GeoAnalytics Engine. ArcGIS GeoAnalytics Engine использует Apache Spark для доступа к более чем 150 облачным геоаналитическим инструментам и функциям для изучения трендов, закономерностей и корреляций. ArcGIS GeoAnalytics Engine может быть установлен на персональном компьютере или в автономном кластере Spark, хотя большинство организаций, как правило, используют управляемые сервисы Spark в облаке. Эти облачные управляемые среды упрощают обработку больших данных, обеспечивают масштабируемость, оптимизируют затраты, используют расширенные аналитические возможности, обеспечивают безопасность и соответствие требованиям, а также извлекают выгоду из управляемых сервисов и поддержки, предоставляемых поставщиками облачных услуг. К ним относятся Amazon EMR, Databricks, Azure Synapse Analytics, Google Cloud Dataproc и Microsoft Fabric.
В дополнение к ArcGIS GeoAnalytics Engine, Esri предлагает альтернативную библиотеку Spark для пространственного анализа больших данных под названием Big Data Toolkit. Big Data Toolkit (BDT) – это решение Esri Professional Services, которое предлагает некоторые уникальные возможности и может быть целесообразным в определенных сценариях, требующих расширения пространственных функций и инструментов с расширенными возможностями. Дополнительные сведения см. в разделе Расширенные возможности.
Сопутствующие ресурсы:
Базовая архитектура
Ниже приведена типичная базовая архитектура для системы анализа больших данных с использованием Apache Spark.
Эту схему не следует принимать как она есть и использовать в качестве прототипа для вашей системы. Есть множество важных факторов и вариантов дизайна, которые следует учитывать при проектировании системы. Дополнительные сведения см. в разделе Использование системных шаблонов. Кроме того, на приведенной ниже схеме представлены только базовые возможности системы; при предоставлении расширенных возможностей могут потребоваться дополнительные компоненты системы.

Представленные выше возможности отражают те, которые доступны на июль 2025 года.
Вот ключевые компоненты этой архитектуры:
- Основой системы анализа больших данных является среда Apache Spark. Среда Spark содержит кластеры узлов, на которых выполняются задачи распределенного анализа. ArcGIS GeoAnalytics Engine может работать в ряде сред Spark, включая локальные развертывания, кластерные развертывания и управляемые сервисы Spark в облаке. Поддерживаемые управляемые сервисы Spark включают Amazon EMR, Azure Synapse Analytics, Google Cloud Dataproc, Databricks и Microsoft Fabric. Эти варианты обеспечивают путь развертывания для организаций, которые уже выполняют рабочие нагрузки в существующей облачной среде, включая Amazon Web Services (AWS), Google Cloud Platform (GCP) и поставщиков облачных услуг Microsoft Azure.
- ArcGIS GeoAnalytics Engine – это подключаемый модуль Spark и набор функций и инструментов, которые выполняются на узлах в кластере Apache Spark. Задачи пространственного анализа отправляются из драйвера Spark исполнителям Spark, где выполняется работа по анализу. Управление исполнителями Spark осуществляется диспетчером кластера Spark. ArcGIS GeoAnalytics Engine поддерживает менеджеры кластеров Standalone, Apache Mesos, Hadoop YARN и Kubernetes. Подробнее о кластерном режиме Spark ArcGIS GeoAnalytics Engine.
- GeoAnalytics Engine поддерживает загрузку и сохранение данных из некоторых распространенных источников пространственных данных в дополнение к источникам данных, поддерживаемым Spark. К ним, помимо прочего, относятся данные в хранилищах файлов, хранилищах объектов, озерах данных и базах данных (СУБД). Узнайте больше о поддерживаемых хранилищах данных и поддерживаемых источниках данных.
- GeoAnalytics Engine расширяет PySpark, интерфейс Python для Spark, и использует Spark DataFrames вместе с пользовательскими типами данных геометрии для представления пространственных данных. GeoAnalytics Engine поставляется с несколькими расширениями DataFrame для чтения из источников пространственных данных, таких как шейп-файлы и сервисы объектов, в дополнение к любому источнику данных, поддерживаемому PySpark. GeoAnalytics Engine также включает в себя два основных модуля для работы с DataFrames: функции SQL и инструменты. Пользователи обычно взаимодействуют с системой анализа больших данных через блокноты Python, работающие на Python из своей среды анализа данных. Узнайте больше о начале работы с ArcGIS GeoAnalytics Engine.
Вот ключевые взаимодействия в этой архитектуре:
- Код Python PySpark, обычно разрабатываемый в блокноте Python, работающем в среде анализа данных, объединяется в виде приложения и отправляется в кластер Spark. Отправка задания в кластер Spark обычно выполняется по протоколу TCP. Узнайте больше об отправке заявок Spark.
- Обмен данными между ArcGIS GeoAnalytics Engine и хранилищами данных является двунаправленным, что позволяет получать доступ к данным и сохранять их из ряда поддерживаемых хранилищ данных. Технические характеристики этого обмена данными будут зависеть от типа используемого хранилища данных. Для получения дополнительной информации см. раздел Хранилище данных ArcGIS GeoAnalytics Engine.
Дополнительную информацию о взаимодействии между ArcGIS GeoAnalytics Engine и средой Apache Spark можно найти в документации по продукту ArcGIS GeoAnalytics Engine.
Функциональные возможности
Возможности системы аналитики больших данных на Apache Spark описаны ниже.
Базовые возможности
Базовые функциональные возможности представляют собой наиболее распространенные возможности, предоставляемые системами анализа больших данных и обеспечиваемые базовой архитектурой, представленной выше.
- Функция приема данных обеспечивает доступ к данным из ряда поддерживаемых хранилищ данных при выполнении задач анализа.
- Пространственные соединения и отношения позволяют объединять строки из двух DataFrames на основе пространственных отношений. GeoAnalytics Engine предлагает несколько механизмов для пространственного объединения данных, а также для анализа и понимания пространственных отношений между геометриями. Подробнее о пространственных соединениях и пространственных отношениях.
- Временные шаги и временные отношения позволяют проводить анализ с использованием времени. Временные шаги разделяют входные данные на шаги, на которых анализ выполняется независимо, где временные отношения используются для временного объединения данных с помощью инструмента пространственно-временного соединения. Узнайте больше о шаге во времени и временных отношениях.
- Анализ закономерностей выявляет пространственные и временные закономерности в данных. ArcGIS GeoAnalytics Engine включает в себя ряд инструментов и функций SQL для анализа закономерностей, включая обнаружение инцидентов, поиск горячих точек, поиск схожих местоположений и географически взвешенную регрессию.
- Анализ близости рассматривает близость пространственных данных к другим пространственным данным. ArcGIS GeoAnalytics Engine включает в себя ряд инструментов и функций SQL для анализа близости, включая поиск кластеров точек, группировку по близости и ближайших соседей.
- При анализе суммирования данные агрегируются или суммируются в структуры данных более высокого порядка. ArcGIS GeoAnalytics Engine включает в себя ряд инструментов и функций SQL для анализа суммирования, включая агрегирование точек, вычисление плотности и суммирование в пределах
- Анализ трека работает с точками с поддержкой времени, коррелированными с движущимися объектами. ArcGIS GeoAnalytics Engine включает в себя ряд инструментов и функций SQL для анализа треков, включая реконструкцию треков, вычисление статистики движения и замыкание треков.
- Геокодирование конвертирует текст в адрес и местоположение. ArcGIS GeoAnalytics Engine включает инструмент геокодирования, который работает с адресами в Spark DataFrames.
- Сетевой анализ помогает решить общие сетевые проблемы, часто (но не всегда) для уличных сетей. ArcGIS GeoAnalytics Engine включает в себя ряд инструментов и функций SQL для сетевого анализа, включая создание областей обслуживания, поиск ближайших пунктов обслуживания и создание матрицы Источник-Назначение.
- Управление данными поддерживает работу с геометрией и другими полями в больших данных. ArcGIS GeoAnalytics Engine включает в себя ряд инструментов и функций SQL для управления данными, в том числе инструмент вычисления поля и множество пространственных функций SQL, расширяющих API Spark SQL.
- Картографирование и визуализация результатов анализа — это мощный шаг для обеспечения контекста и выявления закономерностей, тенденций и отношений. Визуализация и картографирование аналогичны построению диаграмм и построению графиков с использованием непространственных данных. Это способ проверить свой анализ, итерировать его и получить привлекательные результаты, которыми можно поделиться. ArcGIS GeoAnalyics Engine позволяет визуализировать наборы данных в блокнотах Python. Узнайте больше о визуализации результатов анализа.
Расширенные возможности
Расширенные возможности обычно добавляются для удовлетворения конкретных потребностей или поддержки отраслевых моделей данных и решений, а также могут потребовать дополнительных программных компонентов или соображений по архитектуре.
Рекомендации
Приведенные ниже соображения применяют основные принципы ArcGIS Well-Architected Framework к системе анализа больших данных в Apache Spark. Представленная здесь информация не претендует на исчерпывающий характер, а скорее подчеркивает ключевые соображения по проектированию и/или реализации этой конкретной комбинации системы и шаблона развертывания. Узнайте больше об основных компонентах архитектуры ArcGIS Well-Architected Framework.
Надёжность
Надежность гарантирует, что ваша система обеспечивает уровень обслуживания, необходимый для бизнеса, а также ваших клиентов и заинтересованных сторон. Подробнее см. в разделе Общие сведения о компонентах надежности.
- Надежность почти полностью обеспечивается средой Apache Spark. Необходимо учитывать множество факторов, таких как выбор диспетчера кластера, который также будет значительно различаться в зависимости от того, где установлен Spark (локальный, кластерный или управляемый облачный сервис).
- SLA менее распространены в системах анализа больших данных, чем в других системах.
Безопасность
Безопасность защищает ваши системы и информацию. Дополнительные сведения см. в обзоре компонента безопасности.
- Авторизация для использования системы анализа больших данных поддерживается с помощью имени пользователя и пароля или файла лицензии, предоставленного Esri.
- Аутентификация, шифрование, ведение журналов и другие вопросы безопасности обычно обрабатываются за пределами программного обеспечения ArcGIS GeoAnalytics Engine, либо в источниках данных, либо в среде Apache Spark. Подробнее о безопасности Spark.
Производительность и масштабируемость
Производительность и масштабируемость направлены на оптимизацию общего взаимодействия пользователей с системой, а также на обеспечение масштабирования системы в соответствии с растущими требованиями к рабочим нагрузкам. Дополнительные сведения см. в обзоре основных компонентов производительности и масштабируемости.
- Преимущество использования сред на основе Apache Spark заключается в их распределенных вычислительных возможностях. Во многих организациях есть администраторы облачных сред, которые понимают концепции управления масштабированием вычислительных ресурсов, используемых кластерами и управляемой аналитикой. В пространственной аналитике больших данных нет никаких принципиальных отличий. Выполнение аналитики в большом масштабе связано с затратами. Организациям следует провести анализ затрат и выгод, чтобы определить, какие вычислительные ресурсы они хотят назначить пространственной аналитике.
Узнайте больше о настройке Spark.
Автоматизация
Автоматизация направлена на сокращение усилий, затрачиваемых на ручное развертывание и выполнение операционных задач, что приводит к повышению операционной эффективности, а также к уменьшению системных аномалий, связанных с человеческим фактором. Дополнительные сведения см. в обзоре компонента автоматизации.
- Анализ часто носит итеративный характер, требуя проверки человеком и вмешательства между этапами выполнения анализа. Однако существуют ситуации, в которых выполнение анализа может потребоваться автоматизировать и/или запланировать.
- Очень часто используются управляемые облаком среды Apache Spark, которые предоставляют дополнительные возможности автоматизации и могут помочь оптимизировать общие операции и использование.
- Поскольку основным приложением или интерфейсом в системе анализа больших данных является Python, а Apache Spark предоставляет скрипт для отправки приложений в кластер, автоматизация отправки анализа является простой и гибкой.
- Диспетчеры кластеров Spark также поддерживают планирование заданий в приложениях. Существуют различные варианты диспетчеров кластеров и управляемых сервисов Spark в облаке, многие из которых предоставляют разные возможности.
Интеграция
Интеграция связывает эту систему с другими системами для предоставления корпоративных сервисов и повышения производительности организации. Дополнительные сведения см. в обзоре компонента интеграции.
Наблюдаемость
Наблюдаемость обеспечивает видимость системы, позволяя эксплуатационному персоналу и другим техническим специалистам поддерживать работу системы в исправном и стабильном состоянии. Дополнительные сведения см. в обзоре компонента наблюдаемости.
- Наблюдаемость системы управления большими данными в Apache Spark обычно основана на понимании использования и производительности базовой инфраструктуры, а также на получении информации о состоянии и ходе выполнения больших заданий пакетной аналитики. Подходы к мониторингу использования и производительности базовой инфраструктуры будут зависеть от используемой среды Apache Spark. Облачные среды популярны отчасти из-за их сильных сторон в области наблюдаемости. Мониторинг заданий Apache Spark обеспечивается Apache Spark.
Прочее
Дополнительные рекомендации по проектированию и внедрению системы анализа больших данных в Apache Spark:
- Для успешной работы требуется глубокое понимание Apache Spark и приверженность ему. Также требуется глубокое понимание больших распределенных данных и концепций аналитики.
Сопутствующие ресурсы: