Знакомство с Azure Stream AnalyticsWhat is Azure Stream Analytics?

Azure Stream Analytics — это служба аналитики, работающая в режиме реального времени, которая представляет собой сложный механизм обработки событий. Она позволяет анализировать и обрабатывать большие объемы быстро передающихся потоковых данных из многочисленных источников одновременно.Azure Stream Analytics is a real-time analytics and complex event-processing engine that is designed to analyze and process high volumes of fast streaming data from multiple sources simultaneously. Она обеспечивает определение закономерностей и связей в данных, извлеченных из нескольких источников, таких как устройства, датчики, данные посещений сайта, каналы социальных сетей и приложения.Patterns and relationships can be identified in information extracted from a number of input sources including devices, sensors, clickstreams, social media feeds, and applications. На основе этих закономерностей можно активировать действия и инициировать рабочие процессы, например создавать оповещения, отправлять данные в средства составления отчетов или сохранять преобразованные данные для дальнейшего использования.These patterns can be used to trigger actions and initiate workflows such creating alerts, feeding information to a reporting tool, or storing transformed data for later use. Кроме того, Stream Analytics доступна в среде выполнения Azure IoT Edge и поддерживает такие же язык или синтаксис, что и в облаке.Also, Stream Analytics is available on Azure IoT Edge runtime, and supports the same exact language or syntax as cloud.

Ниже описаны примеры сценариев, в которых удобно использовать Azure Stream Analytics:The following scenarios are examples of when you can use Azure Stream Analytics:

  • анализ потоковой передачи данных телеметрии в реальном времени с устройств Интернета вещей;Analyze real-time telemetry streams from IoT devices
  • анализ веб-журналов и сведений о посещении сайта;Web logs/clickstream analytics
  • геопространственная аналитика для управления транспортной системой и автономными транспортными средствами;Geospatial analytics for fleet management and driverless vehicles
  • удаленный мониторинг и прогнозное обслуживание высокоценных ресурсов;Remote monitoring and predictive maintenance of high value assets
  • аналитика данных точки продаж в режиме реального времени для контроля запасов и обнаружения аномалий.Real-time analytics on Point of Sale data for inventory control and anomaly detection

Как работает Stream Analytics?How does Stream Analytics work?

Задание Azure Stream Analytics состоит из входных данных, запроса и выходных данных.An Azure Stream Analytics job consists of an input, query, and an output. Stream Analytics принимает данные из Центров событий Azure, центра Интернета вещей Azure или хранилища BLOB-объектов Azure.Stream Analytics ingests data from Azure Event Hubs, Azure IoT Hub, or Azure Blob Storage. Запрос на языке SQL-запросов можно использовать для фильтрации, сортировки, агрегирования и объединения данных потоковой передачи за определенный промежуток времени.The query, which is based on SQL query language, can be used to easily filter, sort, aggregate, and join streaming data over a period of time. Этот язык SQL-запросов можно расширить с помощью определяемых пользователем функций JavaScript и C#.You can also extend this SQL language with JavaScript and C# user defined functions (UDFs). Вы можете легко настроить параметры упорядочивания и продолжительность временных окон при осуществлении операций агрегирования с помощью простых языковых конструкций и (или) конфигураций.You can easily adjust the event ordering options and duration of time windows when preforming aggregation operations through simple language constructs and/or configurations.

Каждое задание поддерживает вывод преобразованных данных. Вы можете также настроить действия по результатам анализа информации.Each job has an output for the transformed data, and you can control what happens in response to the information you've analyzed. Например, вы можете просматривать:For example, you can:

  • отправлять данные в службы, такие как Функции Azure, разделы служебной шины или Очередь, чтобы активировать связи или нисходящие пользовательские рабочие процессы;Send data to services such as Azure Functions, Service Bus Topics or Queues to trigger communications or custom workflows downstream.
  • отправлять данные на информационную панель Power BI для мониторинга в режиме реального времени;Send data to a Power BI dashboard for real-time dashboarding.
  • сохранять данные в других службах хранилища Azure, чтобы обучать модель машинного обучения на основе данных журнала или выполнять пакетную аналитику.Store data in other Azure storage services to train a machine learning model based on historical data or perform batch analytics.

На следующем рисунке показано, как данные отправляются в Stream Analytics, анализируются и направляются для выполнения других действий, например хранения или отображения:The following image shows how data is sent to Stream Analytics, analyzed, and sent for other actions like storage or presentation:

Конвейер Stream Analytics

Основные возможности и преимуществаKey capabilities and benefits

Служба Azure Stream Analytics должна быть простой в использовании, гибкой, надежной и масштабируемой до любого размера задания.Azure Stream Analytics is designed to be easy to use, flexible, reliable, and scalable to any job size. Она доступна в нескольких регионах Azure.It is available across multiple Azure regions. На следующем рисунке показаны ключевые возможности Azure Stream Analytics.The following image illustrates the key capabilities of Azure Stream Analytics:

Основные возможности Stream Analytics

Простое начало работыEase of getting started

Приступить к работе с Azure Stream Analytics несложно.Azure Stream Analytics is easy to start. Подключиться к нескольким источникам и приемникам и создать конвейер можно в несколько щелчков.It only takes a few clicks to connect to multiple sources and sinks, creating an end-to-end pipeline. Служба Stream Analytics может подключаться к Центрам событий Azure и Центру Интернета вещей Azure для приема потоковых данных, а также к хранилищу BLOB-объектов Azure для приема исторических данных.Stream Analytics can connect to Azure Event Hubs and Azure IoT Hub for streaming data ingestion, as well as Azure Blob storage to ingest historical data. Входные данные для задания также могут содержать статические или редко меняющиеся эталонные данные из хранилища BLOB-объектов Azure или Базы данных SQL, которые можно подключить к потоковым данным для операций поиска.Job input can also include static or slow-changing reference data from Azure Blob storage or SQL Database that you can join to streaming data to perform lookup operations.

Stream Analytics может направлять выходные данные задания в несколько систем хранения, таких как хранилище BLOB-объектов Azure, База данных SQL Azure, Azure Data Lake Store и Azure Cosmos DB.Stream Analytics can route job output to many storage systems such as Azure Blob storage, Azure SQL Database, Azure Data Lake Store, and Azure CosmosDB. Вы можете выполнить пакетную аналитику с использованием сохраненных данных с помощью Azure HDInsight или направить выходные данные в другую службу, например в Центры событий для обработки или в Power BI для визуализации в режиме реального времени.You can run batch analytics on stored output with Azure HDInsight, or you can send the output to another service, like Event Hubs for consumption or Power BI for real-time visualization.

Полный список поддерживаемых выходов Stream Analytics см. в статье о выходных данных Azure Stream Analytics.For the entire list of Stream Analytics outputs, see Understand outputs from Azure Stream Analytics.

Производительность работы программистаProgrammer productivity

Azure Stream Analytics использует простой язык запросов на основе SQL, который был дополнен эффективными темпоральными ограничениями для анализа перемещаемых данных.Azure Stream Analytics uses a simple SQL-based query language that has been augmented with powerful temporal constraints to analyze data in motion. Для определения преобразований задания используется простой, декларативный язык запросов Stream Analytics, который позволяет создавать сложные временные запросы и аналитику с использованием простых конструкций SQL.To define job transformations, you use a simple, declarative Stream Analytics query language that lets you author complex temporal queries and analytics using simple SQL constructs. Язык запросов Stream Analytics очень похож на SQL, поэтому понимания языка SQL достаточно, чтобы приступить к созданию заданий.Because Stream Analytics query language is consistent to the SQL language, familiarity with SQL is sufficient to start creating jobs. Задания можно также создавать с помощью инструментов разработчика, таких как Azure PowerShell, средства Stream Analytics Visual Studio, расширение Stream Analytics для Visual Studio Code или шаблоны Azure Resource Manager.You can also create jobs by using developer tools like Azure PowerShell, Stream Analytics Visual Studio tools, the Stream Analytics Visual Studio Code extension, or Azure Resource Manager templates. С помощью инструментов разработчика можно создавать запросы на преобразование автономно и использовать конвейер непрерывной интеграции и поставки для отправки заданий в Azure.Using developer tools allow you to develop transformation queries offline and use the CI/CD pipeline to submit jobs to Azure.

Язык запросов Stream Analytics предлагает широкий набор функций для анализа и обработки данных потоковой передачи.The Stream Analytics query language offers a wide array of functions for analyzing and processing streaming data. Этот язык запросов поддерживает простые операции с данными, функции статистических вычислений и сложные геопространственные функции.This query language supports simple data manipulation, aggregation functions, and complex geospatial functions. На портале можно редактировать запросы и тестировать их на выборке данных из потоковых данных.You can edit queries in the portal and test them using sample data that is extracted from a live stream.

Вы можете расширить возможности языка запросов. Для этого нужно определить или вызвать дополнительные функции.You can extend the capabilities of the query language by defining and invoking additional functions. Вызовы функций можно определить в службе "Машинное обучение Azure", чтобы воспользоваться преимуществами решений этой службы и интегрировать определяемые пользователем функции или статистические выражения JavaScript или C# для выполнения сложных вычислений в рамках запроса Stream Analytics.You can define function calls in the Azure Machine Learning service to take advantage of Azure Machine Learning solutions, and integrate JavaScript or C# user-defined functions (UDFs) or user-defined aggregates to perform complex calculations as part a Stream Analytics query.

Полная управляемостьFully managed

Azure Stream Analytics является полностью управляемым независимым от сервера предложением (PaaS) в Azure.Azure Stream Analytics is a fully managed serverless (PaaS) offering on Azure. Вам не нужно подготавливать оборудование или управлять кластерами для запуска заданий.You don’t have to provision any hardware or manage clusters to run your jobs. Azure Stream Analytics полностью управляет заданием, настраивая сложные вычислительные кластеры в облаке и обеспечивая необходимую производительность для выполнения задания.Azure Stream Analytics fully manages your job by setting up complex compute clusters in the cloud and taking care of the performance tuning necessary to run the job. Благодаря интеграции с Центрами событий Azure и Центром Интернета вещей Azure задания могут ежесекундно принимать миллионы событий от подключенных устройств, посещаемых пользователями ресурсов и файлов журналов.Integration with Azure Event Hubs and Azure IoT Hub allows your job to ingest millions of events per second coming from a number of sources, to include connected devices, clickstreams, and log files. С помощью функции секционирования Центров событий вы можете разделять вычисления на логические шаги и дополнительно разделять каждый шаг для улучшения масштабируемости.Using the partitioning feature of Event Hubs, you can partition computations into logical steps, each with the ability to be further partitioned to increase scalability.

Выполнение в облаке или на интеллектуальной границеRun in the cloud or on the intelligent edge

Azure Stream Analytics можно запускать в облаке для крупномасштабной аналитики или в IoT Edge для аналитики со сверхмалой задержкой.Azure Stream Analytics can run in the cloud, for large-scale analytics, or run on IoT Edge for ultra-low latency analytics. Azure Stream Analytics использует одинаковый язык запросов в облаке и в IoT Edge, что позволяет разработчикам создавать настоящие гибридные архитектуры для обработки потоков.Azure Stream Analytics uses the same query language on both cloud and the edge, enabling developers to build truly hybrid architectures for stream processing.

Низкая совокупная стоимость владенияLow total cost of ownership

Облачная служба Stream Analytics оптимизирована для затрат.As a cloud service, Stream Analytics is optimized for cost. Первоначальные затраты отсутствуют. Вы платите только за использованные единицы потоковой передачи и объем обработанных данных.There are no upfront costs involved - you only pay for the streaming units you consume, and the amount of data processed. Нет обязательств по объемам потребления и не требуется подготовка кластера, а задания легко масштабировать в соответствии с текущими потребностями бизнеса.There is no commitment or cluster provisioning required, and you can scale the job up or down based on your business needs.

Критически важная доступностьMission-critical ready

Служба Azure Stream Analytics доступна в нескольких регионах по всему миру и предназначена для запуска критически важных рабочих нагрузок, обеспечивая надежность, безопасность и соответствие требованиям.Azure Stream Analytics is available across multiple regions worldwide and is designed to run mission-critical workloads by supporting reliability, security and compliance requirements.

НадежностьReliability

Azure Stream Analytics гарантирует обработку событий только один раз и по крайней мере одну доставку событий. Таким образом, события не теряются.Azure Stream Analytics guarantees exactly-once event processing and at-least-once delivery of events, so events are never lost. Такая обработка гарантируется для выбранного набора выходных данных, как описано в статье о гарантиях доставки событий.Exactly-once processing is guaranteed with selected output as described in Event Delivery Guarantees.

Azure Stream Analytics имеет встроенные возможности восстановления в случае сбоя доставки события.Azure Stream Analytics has built-in recovery capabilities in case the delivery of an event fails. Stream Analytics также предоставляет встроенные контрольные точки для сохранения состояния заданий и обеспечивает воспроизводимые результаты.Stream Analytics also provides built-in checkpoints to maintain the state of your job and provides repeatable results.

Являясь управляемой службой, Stream Analytics гарантирует доступность 99,9 % для обработки событий с ежеминутной степенью детализации.As a managed service, Stream Analytics guarantees event processing with a 99.9% availability at a minute level of granularity. Дополнительные сведения см. на странице Соглашение об уровне обслуживания для Azure Stream Analytics.For more information, see the Stream Analytics SLA page.

БезопасностьSecurity

С точки зрения безопасности Azure Stream Analytics выполняет шифрование всех входящих и исходящих подключений и поддерживает TLS 1.2.In terms of security, Azure Stream Analytics encrypts all incoming and outgoing communications and supports TLS 1.2. Встроенные контрольные точки также шифруются.Built-in checkpoints are also encrypted. Stream Analytics не хранит входящие данные, так как все задачи обработки выполняются в памяти.Stream Analytics doesn't store the incoming data since all processing is done in-memory.

Соответствие нормативным требованиямCompliance

Azure Stream Analytics отвечает требованиям многих сертификатов соответствия, как описано на странице Overview of Microsoft Azure compliance (Общие сведения о соответствии Azure).Azure Stream Analytics follows multiple compliance certifications as described in the overview of Azure compliance.

ПроизводительностьPerformance

Stream Analytics может обрабатывать миллионы событий в секунду и предоставлять результаты со сверхнизкой задержкой.Stream Analytics can process millions of events every second and it can deliver results with ultra low latencies. Это позволяет выполнять вертикальное и горизонтальное масштабирование для обработки больших сложных событий и событий в реальном времени в приложениях.It allows you to scale-up and scale-out to handle large real-time and complex event processing applications. Stream Analytics поддерживает высокую производительность за счет секционирования, что позволяет выполнить распараллеливание и обработку сложных запросов на нескольких узлах потоковой передачи.Stream Analytics supports higher performance by partitioning, allowing complex queries to be parallelized and executed on multiple streaming nodes. Azure Stream Analytics создан на основе Trill. Эта служба является высокопроизводительным аналитическим модулем потоковой передачи, выполняемой в памяти, который разработан в сотрудничестве с Microsoft Research.Azure Stream Analytics is built on Trill, a high-performance in-memory streaming analytics engine developed in collaboration with Microsoft Research.

Дополнительная информацияNext steps

Теперь у вас есть общие сведения об Azure Stream Analytics.You now have an overview of Azure Stream Analytics. Теперь вы можете вникнуть в детали и создать свое первое задание Stream Analytics:Next, you can dive deep and create your first Stream Analytics job: