Che cos'è Analisi di flusso?What is Stream Analytics?

Analisi di flusso di Azure è un motore di elaborazione di eventi che permette di esaminare volumi elevati di streaming di dati per i dispositivi.Azure Stream Analytics is an event-processing engine that allows you to examine high volumes of data streaming from devices. I dati in ingresso possono provenire da dispositivi, sensori, siti Web, feed di social media, applicazioni e altro ancora.Incoming data can be from devices, sensors, web sites, social media feeds, applications, and more. Il servizio supporta anche l'estrazione di informazioni da flussi di dati, nonché l'identificazione di modelli e relazioni.It also supports extracting information from data streams, identifying patterns, and relationships. È quindi possibile usare questi modelli per attivare altre azioni a valle, ad esempio avvisi, e inviare le informazioni a uno strumento di creazione di report o archiviarle per usarle successivamente.You can then use these patterns to trigger other actions downstream, like alerts, feed information to a reporting tool, or store it for later use.

Di seguito sono riportati alcuni esempi in cui è possibile usare Analisi di flusso di Azure:Following are some examples where Azure Stream Analytics can be used:

  • Fusione di sensori di Internet delle cose (IoT) e analisi in tempo reale su dati di telemetria dei dispositiviInternet of Things(IoT) Sensor fusion and real-time analytics on device telemetry
  • Analisi di log Web/clickstreamWeb logs/clickstream analytics
  • Analisi geospaziale per la gestione della flotta e veicoli senza conducenteGeospatial analytics for fleet management and driverless vehicles
  • Monitoraggio remoto e manutenzione predittiva di risorse di valore elevatoRemote monitoring and predictive maintenance of hi-value assets
  • Analisi in tempo reale di dati di punti vendita per il controllo dell'inventario e il rilevamento anomalieReal-time analytics on Point of Sale data for inventory control and anomaly detection

Funzionamento di Analisi di flussoHow does Stream Analytics work?

Analisi di flusso di Azure inizia con la definizione di un'origine dei dati in streaming, che possono essere inseriti in Hub eventi di Azure, nell'hub IoT di Azure o da un archivio dati come Archiviazione BLOB di Azure.Azure Stream Analytics starts with a source of streaming data that is ingested into Azure Event Hub, Azure IoT Hub or from a data store like Azure Blob Storage. Per esaminare i flussi, è necessario creare un processo di Analisi di flusso che specifica l'origine di input che esegue il flusso dei dati.To examine the streams, you create a Stream Analytics job that specifies the input source that streams data. Il processo specifica anche una query di trasformazione che definisce come cercare dati, modelli o relazioni.The job also specifies a transformation query that defines how to look for data, patterns, or relationships. La query di trasformazione sfrutta un linguaggio di query simile a SQL usato per filtrare, ordinare, aggregare e unire dati in streaming in base a un periodo di tempo.The transformation query leverages a SQL-like query language that is used to filter, sort, aggregate, and join streaming data over a period of time. Quando si esegue il processo, è possibile modificare le opzioni di ordinamento degli eventi e la durata degli intervalli di tempo durante l'esecuzione di operazioni di aggregazione.When executing the job, you can adjust the event ordering options, and duration of time windows when performing aggregation operations.

Dopo avere analizzato i dati in ingresso, è possibile specificare un output per i dati trasformati e controllare quali operazioni eseguire in risposta alle informazioni analizzate.After analyzing the incoming data, you specify an output for the transformed data, and you can control what to do in response to the information you've analyzed. Ad esempio, è possibile eseguire le azioni seguenti:For example, you can take actions like:

  • Inviare dati a una coda monitorata per attivare flussi di lavoro personalizzati a valle.Send data to a monitored queue to trigger custom workflows downstream.
  • Inviare dati al dashboard di Power BI per la visualizzazione in tempo reale.Send data to Power BI dashboard for real-time visualization.
  • Archiviare i dati in altri servizi di archiviazione di Azure.Archive data to other Azure storage services.

L'immagine seguente mostra la pipeline di Analisi di flusso. Il processo di Analisi di flusso può usare tutti o un set selezionato di input e output.The following image illustrates the Stream Analytics pipeline, Your Stream Analytics job can use all or a selected set of inputs and outputs. L'immagine mostra il modo in cui i dati vengono inviati ad Analisi di flusso, analizzati e inviati per altre azioni, tra cui archiviazione o presentazione:This image shows how data is sent to Stream Analytics, analyzed, and sent for other actions like storage, or presentation:

Pipeline di Analisi di flusso

Funzionalità e vantaggi principaliKey capabilities and benefits

Analisi di flusso di Azure è progettato in modo da essere facile da usare, flessibile, affidabile e scalabile in base a processi di qualsiasi dimensione.Azure Stream Analytics is designed to be easy to use, flexible, reliable, and scalable to any job size. È disponibile in più data center, nonché in cloud sovrani.It is available across multiple datacenters as well as sovereign clouds. L'immagine seguente mostra le caratteristiche principali di Analisi di flusso di Azure:Following image illustrates the key capabilities of Azure Stream Analytics:

Caratteristiche principali di Analisi di flusso

Semplicità delle operazioni inizialiEase of getting started

È possibile iniziare a usare Analisi di flusso di Azure in tutta semplicità.Azure Stream Analytics is easy to get started. Sono necessari solo pochi clic per connettersi a più origini o sink e creare una pipeline end-to-end.It only takes few clicks to connect to multiple sources, sinks and to create an end to end pipeline. Analisi di flusso può connettersi a Hub eventi di Azure o all'hub IoT di Azure per l'inserimento di dati in streaming.Stream Analytics can connect to Azure Event Hubs, Azure IoT Hub for streaming data ingestion. Può anche connettersi al servizio Archiviazione BLOB di Azure per l'inserimento di dati cronologici.It can also connect to Azure Blob storage service to ingest historical data. Può combinare dati da hub eventi con altre origini dati e motori di elaborazione.It can combine data from event hubs with other data sources and processing engines. L'input del processo può anche includere dati di riferimento statici o dati a modifica lenta ed è possibile unire dati in streaming a questi dati di riferimento per eseguire operazioni di ricerca.Job input can also include reference data that is static or slow-changing data and you can join streaming data to this reference data to perform lookup operations.

Analisi di flusso può indirizzare l'output del processo a molti sistemi di archiviazione, tra cui BLOB di Azure, il database SQL di Azure, Azure Data Lake Stores o Azure Cosmos DB.Stream Analytics can route job output to many storage systems such as Azure Blob, Azure SQL Database, Azure Data Lake Stores, or Azure Cosmos DB. Al termine dell'archiviazione, è possibile eseguire analisi in batch con Azure HDInsight o inviare l'output a un altro servizio, ad esempio gli hub eventi per l'utilizzo o a Power BI per la visualizzazione in tempo reale tramite l'API di streaming di Power BI.After storing, you can run batch analytics with Azure HDInsight or send the output to another service such as event hubs for consumption or to Power BI for real-time visualization by using Power Bi streaming API.

Produttività per i programmatoriProgrammer Productivity

Analisi di flusso di Azure usa un semplice linguaggio di query basato su SQL che è stato migliorato con potenti vincoli temporali per analizzare i dati in continua evoluzione.Azure Stream Analytics uses a simple SQL based query language that has been augmented with powerful temporal constraints to analyze data in motion. Per definire le trasformazioni dei processi, è possibile usare un linguaggio di query di Analisi di flusso semplice e dichiarativo, che permette di creare query e analisi temporali complesse usando semplici costrutti 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. Il linguaggio di query di Analisi di flusso è coerente con il linguaggio SQL ed è sufficiente avere una certa familiarità con il linguaggio SQL per iniziare a creare processi.Stream Analytics query language is consistent to the SQL language, familiarity with SQL language is sufficient to get started with creating jobs. È anche possibile creare processi usando strumenti di sviluppo come Azure PowerShell, strumenti di Visual Studio per Analisi di flusso o modelli di Azure Resource Manager.You can also create jobs by using developer tools like Azure PowerShell, Stream Analytics Visual Studio tools, or Azure Resource Manager templates. L'uso di strumenti di sviluppo permette di sviluppare query di trasformazione offline e usare la pipeline di integrazione continua e distribuzione continua per inviare processi ad Azure.Using developer tools allow you to develop transformation queries offline and use the CI/CD pipeline to submit jobs to Azure.

Il linguaggio di query di Analisi di flusso offre un'ampia gamma di funzioni per l'analisi e l'elaborazione dei dati in streaming.The Stream Analytics query language offers a wide array of functions for analyzing and processing the streaming data. Questo linguaggio di query supporta la modifica di dati semplici e funzioni di aggregazione per funzioni geospaziali complesse.This query language supports simple data manipulation, aggregation functions to complex geo-spatial functions. È possibile modificare le query nel portale e testarle usando i dati di esempio estratti dal flusso live.You can edit queries in the portal, and test them using sample data that is extracted from the live stream.

È possibile estendere le funzionalità del linguaggio di query definendo e richiamando funzioni aggiuntive.You can extend the capabilities of the query language by defining and invoking additional functions. È possibile definire chiamate di funzione nel servizio Azure Machine Learning per sfruttare i vantaggi delle soluzioni Azure Machine Learning e integrare funzioni definite dall'utente o aggregazioni definite dall'utente in JavaScript per eseguire calcoli complessi come parte di una query di Analisi di flusso.You can define function calls in the Azure Machine Learning service to take advantage of Azure Machine Learning solutions and integrate JavaScript user-defined functions (UDFs) or user-defined aggregates to perform complex calculations as part a Stream Analytics query.

Soluzione completamente gestitaFully managed

Analisi di flusso di Azure è un'offerta senza server completamente gestita (PaaS) in Azure.Azure Stream Analytics is a fully managed serverless (PaaS) offering on Azure. Questo significa che non è necessario effettuare il provisioning di hardware o gestire i cluster per l'esecuzione dei processi.Which means you don’t have to provision any hardware or manage clusters to run your jobs. Analisi di flusso di Azure gestisce completamente il processo, occupandosi della configurazione di cluster di calcolo complessi nel cloud e dell'ottimizzazione delle prestazioni necessaria per l'esecuzione del processo.Azure Stream Analytics fully manages your job, by taking care of setting up complex compute clusters in the cloud and the performance tuning necessary to run the job. L'integrazione con Hub eventi di Azure e l'hub IoT di Azure permette ai processi di inserire milioni di eventi al secondo provenienti, tra gli altri, da dispositivi connessi, clickstream e file di log.Integration with Azure Event Hubs and Azure IoT Hub allows jobs to ingest millions of events per second coming from connected devices, clickstreams, and log files, to name a few. Grazie alla funzionalità di partizionamento degli hub eventi, è possibile suddividere i calcoli in passaggi logici, ciascuno con la possibilità di essere ulteriormente suddiviso per aumentare la scalabilità.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.

Costo totale di proprietà ridottoLow Total Cost of Ownership

Come servizio cloud, Analisi di flusso è ottimizzato in funzione del costo.As a cloud service, Stream Analytics is optimized for cost. Non sono previsti costi iniziali e si paga solo per le unità di streaming utilizzate e per la quantità di dati elaborati.There are no upfront costs involved, you only pay for the streaming units you consume, and the amount of data processed. Non è richiesto alcun impegno o provisioning del cluster.There is no commitment or cluster provisioning required. È possibile ridimensionare i processi di streaming in base alle esigenze aziendali.You can scale the job up or down your steaming jobs based on your business needs.

AffidabilitàReliability

Come servizio gestito, Analisi di flusso garantisce l'elaborazione di eventi con una disponibilità del 99,9%, contribuisce a prevenire la perdita di dati e offre continuità aziendale. Per altre informazioni, vedere la pagina del contratto di servizio di Analisi di flusso.As a managed service, Stream Analytics guarantees event processing with a 99.9% availability, helps prevent data loss, and provides business continuity refer to the Stream Analytics SLA page for more details. Analisi di flusso può elaborare milioni di eventi al secondo e può recapitare risultati con bassa latenza.Stream Analytics can process millions of events every second and it can deliver results with low latency. Analisi di flusso garantisce un'elaborazione di eventi di tipo exactly-once e il recapito degli eventi almeno una volta.Stream Analytics guarantees exactly once event processing and at least once delivery of events. Il servizio include funzionalità di ripristino predefinite in caso di errori di recapito degli eventi.It has built-in recovery capabilities in case the delivery of an event fails. Analisi di flusso può mantenere internamente lo stato del processo ed è possibile avviare un processo dal momento dell'ultimo output, in modo da fornire risultati ripetibili, generando gli stessi risultati ogni volta.Stream Analytics can internally maintain the state of your job, you can start a job from its last output time, provides repeatable results by providing same results all the time. Questa funzionalità di Analisi di flusso permette di tornare indietro nel tempo ed esaminare i calcoli durante l'analisi delle cause principali.This feature of Stream Analytics enables you to go back in time and investigate computations when doing root-cause analysis.

PrestazioniPerformance

Analisi di flusso di Azure è ottimizzato per prestazioni elevate e può elaborare dati in streaming ed eseguire calcoli in memoria.Azure Stream Analytics is optimized for high performance, it can process streaming data and perform in memory computations. Il servizio permette di aumentare o diminuire le risorse per gestire applicazioni di elaborazione degli eventi complesse in tempo reale.It allows you to scale-up or scale-down to handle real-time and complex event processing applications. Analisi di flusso supporta le prestazioni tramite il partizionamento.Stream Analytics supports performance by partitioning. Una query complessa può essere parallelizzata ed eseguita su più nodi di streaming.A complex query can be parallelized and executed on multiple streaming nodes.

Passaggi successiviNext steps

In questo articolo è stata presentata una panoramica di Analisi di flusso di Azure.You now have an overview of Azure Stream Analytics. È ora possibile approfondire ulteriormente l'argomento e creare il primo processo di Analisi di flusso:Next, you can dive deep and create your first Stream Analytics job: