SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
Big Data Analytics quanto vale e come
sfruttarlo con Stream Analytics e Power BI
Click to edit Master subtitle style
#disatpn
saturday 2019
Digital 1nn0vation
#disatpn
Chi sono? (Marco Pozzan)
• Consulente di business Intelligence presso www.methode.it
• Docente all’ università di Pordenone in corsi di data warehouse e analisi di Big Data
• Fondatore della community di 1nn0va (www.innovazionefvg.net)
• MCP, MCSA, MCSE, MCT dal 2014 MVP e dal 2016 MVP Reconnect per la Microsoft Data
Platform
marco.pozzan@methode.it
@marcopozzan.it
www.marcopozzan.it
http://www.scoop.it/u/marco-pozzan
http://paper.li/marcopozzan/1422524394
#disatpn
Agenda
• Il mercato dei Big Data Analytics
• Il mercato dei Big Data Analytics per settore
• La sfida Smart & Fast
• Introduzione alle architetture e ai servizi
• Events Hub
• Stream analytics
• Demo
#disatpn
Il mercato degli analytics
• l mercato italiano dei Big Data Analytics raggiunge nel 2018 un valore
di 1,393 miliardi di euro
• 26% in più rispetto al 2017. Trend positivo degli ultimi tre anni, con
una crescita media del 21% ogni dodici mesi.
#disatpn
Il mercato degli analytics
• Le aziende hanno maturato consapevolezza sul tema e l’hanno
trasformata in investimenti infrastrutturali, sperimentazioni e
progetti in produzione.
• Rimane molto ampio il divario fra le grandi imprese che si dividono
l’88% della spesa complessiva e le PMI, che rappresentano una
quota esigua del mercato fermandosi al 12%.
#disatpn
Scomposizione spesa degli analytics
• Il 45% della spesa in Analytics è dedicato ai software (database e
strumenti per acquisire, elaborare, visualizzare e analizzare i dati,
applicativi per specifici processi aziendali),
• il 34% ai servizi (personalizzazione dei software, integrazione con i
sistemi informativi aziendali, consulenza di riprogettazione dei processi)
• Il 21% alle risorse infrastrutturali (capacità di calcolo, server e storage
da impiegare nella creazione di servizi di Analytics).
#disatpn
Il mercato degli analytics per settore
#disatpn
Fast & Smart
«Per coglierne appieno i benefici, è necessario che i Big Data
vengano analizzati secondo modalità smart, mediante sofisticati
algoritmi di machine learning in grado di identificare pattern e
correlazioni presenti nei dati e di trasformare questa conoscenza in
azioni concrete che permettano alle imprese di acquisire vantaggio
competitivo”
«Carlo Vercellis, Responsabile scientifico dell’Osservatorio Big Data Analytics &
Business Intelligence»
#disatpn
Le grandi aziende in numeri
• Il 62% dichiara la necessità di competenze specifiche di Machine
Learning e Deep Learning
• poco più di 1/3 le ha già introdotte in organico
• 30% prevede di farlo nei prossimi due anni.
• 11% sfrutta oggi modalità di analisi in Real-Time o in Streaming, in
cui vi è un flusso continuo di raccolta dei dati analizzati con continuità.
• 33% possiede un’infrastruttura che consente analisi in Near Real-
Time, con una frequenza d’aggiornamento che scende a meno di
un’ora.
• 56% analizza i dati in modalità batch, con un aggiornamento del
sistema a intervalli regolari e predefiniti (solitamente giornalieri).
#disatpn
Le PMI in numeri
• il 7% delle PMI nel 2018 ha avviato progetti di Big Data Analytics
• 4/10 dichiarano di svolgere analisi tradizionali
• il 10% ha una comprensione scarsa o nulla di quali vantaggi i Big
Data potrebbero apportare e di come hanno un approccio all’analisi
dei dati limitato e tradizionale.
• il 31%, è invece sulla buona strada sia dal lato della consapevolezza
sia dal lato tecnologico.
• Una PMI su dieci, infine, si dimostra pronta per lanciare delle
iniziative di Analytics.
• 42% non si sono mosse per mancanza di risorse
Introduzione architetture dei Big
Data Analytics
#disatpn
Tecniche di processamento
• Query batch
• Risponde alla domanda, «Quale era la velocità del vento ieri?"
• Streaming query
• Risponde alla domanda, «quale è stata la media delle raffiche di vento
nell’ultima ora?"
• Approccio ibrido
#disatpn
L’architettura Lambda
• Hot Path: fornisce
l'elaborazione del flusso di
dati, consentendo l'accesso
istantaneo ai dati e all'analisi,
ma a scapito di una inferiore
precisione.
• Cold Path: migliora la
precisione con l'elaborazione
batch completa, utilizzando
metodi di affinamento dei dati.
#disatpn
Limitazioni
• La sfida principale con l'architettura lambda è che è necessario
mantenere la coerenza tra la logica di elaborazione del percorso
cold e hot.
• Se si modificano i requisiti analitici, è necessario modificare entrambi i set di
codice per mantenere la coerenza.
• Una seconda considerazione è che, dopo che i dati sono stati acquisiti
ed elaborati in un modello, i dati sono effettivamente immutabili e
non possono più essere modificati.
• Le modifiche al modello, ad esempio la raccolta di una vasta gamma di dati o la
creazione online di dispositivi di acquisizione più recenti, rendono difficile la
generazione di confronti più lungo termine dei dati storici
#disatpn
L’architettura Kappa
• In Kappa, i dati originali vengono conservati come una sequenza di
file "log". Se è si modifica il modello, è possibile "riprodurre" i
vecchi dati dai registri e applicare la logica del nuovo modello
• hot e cold utilizzano gli stessi dati. Se il modello cambia, i dati storici
possono essere ritrasmessi attraverso il percorso hot per dare i risultati
aggiornati.
#disatpn
Soluzione Ibrida
• Azure Stream Analytics = Consente di elaborare flussi di dati
da Event o Iot Hub
• Azure Machine Learning = Supporta l'analisi e la
modellazione predittiva di flussi di dati.
• Azure Blob storage = Mantiene i dati in modo scalare, fino a
un certo punto di scalabilità. Archivio di oggetti generico
• Azure Data Lake Storage = Rende persistenti i dati su scala
massiva con oggetti o dimensioni file illimitati.
• Azure Data Lake Analytics = Esegue l'elaborazione batch e
l'analisi di grandi dati, genera un'elaborazione parallela sui Big
Data.
• Azure SQL Data Warehouse = Fornisce un database
relazionale in grado di una elaborazione parallela (MPP) per
big data
• i dati del dispositivo vengono trasmessi da events Hubs o
dagli ioT hubs (a seconda delle periferiche di origine).
• Power BI e app personalizzata (visualizzazione)
Event Hubs
#disatpn
Event Hubs
• Azure Event Hubs è una piattaforma di streaming Big Data e un
servizio di import di eventi, in grado di ricevere ed elaborare milioni
di eventi al secondo.
• I dati inviati a un hub di possono essere trasformati e archiviati
utilizzando qualsiasi provider di analisi in tempo reale o oggetti di
batch/storage.
• Event Hub rappresenta la "porta principale" per una pipeline di
eventi, spesso definita ingestion di eventi
• Un ingestion di eventi è una componente o servizio che si trova tra gli
editori di eventi e i consumatori di eventi per disaccoppiare la
produzione di un flusso di eventi dal consumo di tali eventi.
#disatpn
Event Hubs
#disatpn
Le partizioni
• Una partizione è una sequenza ordinata di eventi. Quando arrivano
nuovi eventi, vengono aggiunti alla fine di questa sequenza.
• Event Hub conserva i dati per un tempo configurato che si applica a
tutte le partizioni. Non puoi eliminarli esplicitamente.
• Il numero di partizioni è specificato al momento della creazione e
deve essere compreso tra 2 e 32. non è modificabile!!!
• sono un meccanismo di organizzazione dei dati che si riferisce al
parallelismo, il numero di partizioni si riferisce direttamente al
numero di lettori simultanei che ci si aspetta di avere.
#disatpn
Throughput Units
• La capacità di throughput è controllata dalle unità di throughput.
• Le TU sono unità di capacità pre-acquistate. Una singola unità di
throughput include la seguente capacità:
• Ingresso: fino a 1 MB al secondo o 1000 eventi al secondo (a seconda
dell'evento che si verifica per primo).
• Uscita: fino a 2 MB al secondo o 4096 eventi al secondo.
Azure Stream Analytics
#disatpn
Tipi di data sources
• Data stream: sono eventi di streaming che formano una sequenza
illimitata nel tempo.
• Event Hubs
• IoT Hub
• Blob storage
• Possono essere in formato CSV, JSON o Avro
• Reference data: per connettersi a set di dati ausiliari statici che
vengono utilizzati come dati di ricerca nel flusso. Si utilizza un join
nella query di Stream Analytics per unire i reference data con il data
stream
• Blob storage (max 300 MB)
#disatpn
Strutture di un Stream Analytics job
• Di seguito elenchiamo le strutture disponibili per un Stream Analytics
job
• Input(s)
• Output(s)
• Query
Inputs Outputs
Iot Hub Azure Data Lake Store
Event Hubs Azure SQL DB
Azure Blob Storage Azure Blob Storage
Event Hubs
Power BI
Azure Table Storage
Service Bus Queues
Services Bus topics
Azure Cosmos DB
#disatpn
Definire le query base
• Si utilizza un linguaggio di query simile a SQL per definire le query in
Stream.
• Ai fini della sintassi, questo linguaggio di query è simile a T-SQL
ma differisce in come viene eseguita la query. https://aka.ms/swzhvp
• SELECT
• INTO output
• FROM input
• Predicate clauses
#disatpn
Definire le query base
• Si utilizzano le query di Stream Analytics per selezionare i dati da 1 o
molti input in 1 o più output
• Di seguito un esempio di una query che si usa per passare tutti gli
eventi dall'input all'output
• Si può anche selezionare colonne specifiche e filtrare i dati in base a
una condizione, come segue:
SELECT *
INTO [Output]
FROM [Input]
SELECT ProductName, ProductCategory, Price
INTO [Output]
FROM [Input]
WHERE Price >=200
#disatpn
Definire le query base
• Di seguito è riportato un esempio per utilizzare più output in un
processo di analisi dei flussi:
• Si noti che, mentre è possibile avere più input e più output in un
singolo job di Stream Analytics, le best practice consigliano di
suddividere le query non correlate in più job per ottimizzare le
prestazioni.
SELECT ProductName, ProductCategory, Price
INTO [Output]
FROM [Input]
WHERE Price >=200
SELECT ProductName, ProductCategory, Price
INTO [Output]
FROM [Input]
WHERE Price <200
#disatpn
Timestamp
• Per elaborare gli eventi in base a un timestamp personalizzato o
all'ora in cui si verificano, utilizzare TIMESTAMP BY nella dichiarazione
SELECT:
SELECT TransTime,
RegisterId,
TransId,
TransAmt
FROM [Input] TIMESTAMP BY TransTime
#disatpn
Aggregations and groupings
• Si possono usare molte funzioni di aggregazione ed eseguire calcoli
o creare un output con più dati rispetto all’input
• Le aggregazioni sono simili a T-SQL e la GROUP BY richiedono una
time window
• Selezionare i primi 10 prodotti per quantità di vendita negli ultimi tre
minuti (windowing function):
• Esempi di query per i modelli di utilizzo di Stream Analytics comuni
https://aka.ms/esevh2
SELECT ProductName,
CollectTop(10) OVER (ORDER BY QuantitySold DESC)
FROM [Input] timestamp by time
GROUP BY TumblingWindows(minute,3), ProductName
#disatpn
Grouping data per il time
• Ci sono tre funzioni di windowing in Stream Analytics:
• Sliding window
• Tumbling window
• Hopping window
#disatpn
Sliding Window
• Le Sliding Window considerano tutte le finestre possibili
della lunghezza specificata. (scorre)
• Tuttavia, per rendere il numero di Windows gestibile per
Stream Analytics, le finestre scorrevoli producono un output
solo quando entra un evento o esce dalla finestra.
• Ogni finestra ha almeno un evento e ogni evento può essere
in più di una Sliding Window .
#disatpn
Sliding Window (esempio)
• se abbiamo il seguente set di dati di input con un tempo e un valore:
• Una finestra scorrevole di 10 secondi produrrà finestre che terminano
nei seguenti orari:
• 12-valore 1 entra nella finestra; un valore nella finestra (valore 1).
• 19-valore 2 entra nella finestra; due valori nella finestra (valore 1, valore 2).
• 22-valore 1 esce dalla finestra; un valore nella finestra (valore 2).
timestamp (seconds) Value
12 1
19 2
24 3
#disatpn
Sliding Window (esempio)
• Una finestra scorrevole di 10 secondi produrrà finestre che terminano
nei seguenti orari:
• Il valore 24 a 3 entra nella finestra; due valori nella finestra (valore 2, valore 3).
• 29-valore 2 esce dalla finestra; un valore nella finestra (valore 3).
timestamp (seconds) Value
12 1
19 2
24 3
#disatpn
Tumbling Window
• Le finestre mobili sono finestre a dimensione fissa che non si
sovrappongono e sono contigue.
• Quando il tempo della dimensione della finestra è passata, una nuova
finestra viene immediatamente creata con la stessa durata.
• Ad esempio, per calcolare la temperatura media per dispositivo per
ciascun periodo di cinque minuti:
#disatpn
Hopping Window
• Le finestre di hopping vengono utilizzate per specificare finestre
sovrapposte pianificate. Finestre hopping sono definite con
windowsize, hopsize e timeunit.
• Windowsize: descrive la dimensione della finestra.
• Hopsize: descrive quanto ciascuna finestra avanza.
• Timeunit: descrive l'unità di tempo per il windowsize e il punto di passaggio.
#disatpn
Hopping Window (esempio)
• Abbiamo il seguente insieme di dati, inclusi timestamp e nome
dell'evento:
• Si specifica una finestra di hopping con un windowsize di 10, una
hopsize di 5 e i secondi come timeunit. Questo creerà le seguenti
finestre:
• 0-10 secondi: contiene eventi A, B e C.
• 5-15 secondi: contiene gli eventi C e D.
• 10-20 secondi: contiene gli eventi D, E e F.
timestamp (seconds) Value
3 A
5 B
8 C
12 D
16 E
20 F
#disatpn
Streaming units
• Per capire la quantità di potenza che si può assegnare ad un job di
Stream Analytics, è necessario capire cosa è una Unità di streaming
(SU).
• sono le risorse di calcolo necessarie per eseguire un job di streaming, e
sono una combinazione di CPU, memoria e dei tassi di I/O
• Gli SU forniscono un modo per astrarre l'utente da dover imparare le
risorse di calcolo individuali necessario per eseguire i job di Stream
Analytics.
#disatpn
Demo
• Il throughput per Power BI è dato dal limite di 1M di righe all’ora (per
la TumblingWindow)
• Formula di ingestion = (n°dispositivi * 60 *60)/throughput => (50 *60
*60)/1000000= 0,18 sec
#disatpn
Demo: Dashboard veicoli
#disatpn
Fine
GRAZIE

Más contenido relacionado

Similar a Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi

Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsMarco Parenzan
 
Industria 4.0. Lucca, 5 luglio 2017 - VAR Sirio Industria "IoT - BigData - An...
Industria 4.0. Lucca, 5 luglio 2017 - VAR Sirio Industria "IoT - BigData - An...Industria 4.0. Lucca, 5 luglio 2017 - VAR Sirio Industria "IoT - BigData - An...
Industria 4.0. Lucca, 5 luglio 2017 - VAR Sirio Industria "IoT - BigData - An...CONFINDUSTRIA TOSCANA NORD
 
iot Saturday 2019 - PoC iot in 1 ora
iot Saturday 2019 - PoC iot in 1 oraiot Saturday 2019 - PoC iot in 1 ora
iot Saturday 2019 - PoC iot in 1 oraAlessio Biasiutti
 
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWSTrovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWSAmazon Web Services
 
Cerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
Cerved - The Italian Business Graph: a Story of Tech & data-driven InnovationCerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
Cerved - The Italian Business Graph: a Story of Tech & data-driven InnovationNeo4j
 
Quanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseQuanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseMarco Pozzan
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Marco Parenzan
 
SQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with SparkSQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with SparkAlessio Biasiutti
 
Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)Davide Mauri
 
Cloud, IoT and Big Data
Cloud, IoT and Big DataCloud, IoT and Big Data
Cloud, IoT and Big DataSolidQIT
 
Db2 11.1: l'evoluzione del Database secondo IBM
Db2 11.1: l'evoluzione del Database secondo IBMDb2 11.1: l'evoluzione del Database secondo IBM
Db2 11.1: l'evoluzione del Database secondo IBMJürgen Ambrosi
 
SQL Server Workload Profiling
SQL Server Workload ProfilingSQL Server Workload Profiling
SQL Server Workload ProfilingGianluca Hotz
 
Microsoft Power BI fast with aggregation and composite model
Microsoft Power BI fast with aggregation and composite modelMicrosoft Power BI fast with aggregation and composite model
Microsoft Power BI fast with aggregation and composite modelMarco Pozzan
 
Azure Synapse: data lake & modern data warehouse dalla A alla Z
Azure Synapse: data lake &  modern data warehouse dalla A alla ZAzure Synapse: data lake &  modern data warehouse dalla A alla Z
Azure Synapse: data lake & modern data warehouse dalla A alla ZRoberto Messora
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB
 
Big data stack tecnologico
Big data stack tecnologicoBig data stack tecnologico
Big data stack tecnologicoMassimo Romano
 

Similar a Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi (20)

Presentazione
PresentazionePresentazione
Presentazione
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT Solutions
 
Industria 4.0. Lucca, 5 luglio 2017 - VAR Sirio Industria "IoT - BigData - An...
Industria 4.0. Lucca, 5 luglio 2017 - VAR Sirio Industria "IoT - BigData - An...Industria 4.0. Lucca, 5 luglio 2017 - VAR Sirio Industria "IoT - BigData - An...
Industria 4.0. Lucca, 5 luglio 2017 - VAR Sirio Industria "IoT - BigData - An...
 
iot Saturday 2019 - PoC iot in 1 ora
iot Saturday 2019 - PoC iot in 1 oraiot Saturday 2019 - PoC iot in 1 ora
iot Saturday 2019 - PoC iot in 1 ora
 
PoC IoT in 1 ora
PoC IoT in 1 oraPoC IoT in 1 ora
PoC IoT in 1 ora
 
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWSTrovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
Trovare ciò che serve nella confusione: comprendere i Big Data con l'analisi AWS
 
Presentazione bd2
Presentazione bd2Presentazione bd2
Presentazione bd2
 
Cerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
Cerved - The Italian Business Graph: a Story of Tech & data-driven InnovationCerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
Cerved - The Italian Business Graph: a Story of Tech & data-driven Innovation
 
Quanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless SynapseQuanto mi costa SQL Pool Serverless Synapse
Quanto mi costa SQL Pool Serverless Synapse
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power bi
Power biPower bi
Power bi
 
SQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with SparkSQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with Spark
 
Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)Datarace: IoT e Big Data (Italian)
Datarace: IoT e Big Data (Italian)
 
Cloud, IoT and Big Data
Cloud, IoT and Big DataCloud, IoT and Big Data
Cloud, IoT and Big Data
 
Db2 11.1: l'evoluzione del Database secondo IBM
Db2 11.1: l'evoluzione del Database secondo IBMDb2 11.1: l'evoluzione del Database secondo IBM
Db2 11.1: l'evoluzione del Database secondo IBM
 
SQL Server Workload Profiling
SQL Server Workload ProfilingSQL Server Workload Profiling
SQL Server Workload Profiling
 
Microsoft Power BI fast with aggregation and composite model
Microsoft Power BI fast with aggregation and composite modelMicrosoft Power BI fast with aggregation and composite model
Microsoft Power BI fast with aggregation and composite model
 
Azure Synapse: data lake & modern data warehouse dalla A alla Z
Azure Synapse: data lake &  modern data warehouse dalla A alla ZAzure Synapse: data lake &  modern data warehouse dalla A alla Z
Azure Synapse: data lake & modern data warehouse dalla A alla Z
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
 
Big data stack tecnologico
Big data stack tecnologicoBig data stack tecnologico
Big data stack tecnologico
 

Más de Marco Pozzan

Metadata Driven Pipeline with Microsoft Fabric
Metadata Driven Pipeline  with Microsoft FabricMetadata Driven Pipeline  with Microsoft Fabric
Metadata Driven Pipeline with Microsoft FabricMarco Pozzan
 
Data Warehouse with Fabric on data lakehouse
Data Warehouse with Fabric on data lakehouseData Warehouse with Fabric on data lakehouse
Data Warehouse with Fabric on data lakehouseMarco Pozzan
 
Data modelling for Power BI
Data modelling for Power BIData modelling for Power BI
Data modelling for Power BIMarco Pozzan
 
SlideModellingDataSat.pdf
SlideModellingDataSat.pdfSlideModellingDataSat.pdf
SlideModellingDataSat.pdfMarco Pozzan
 
REAL TIME ANALYTICS INFRASTRUCTURE WITH AZURE
REAL TIME ANALYTICS INFRASTRUCTURE WITH AZUREREAL TIME ANALYTICS INFRASTRUCTURE WITH AZURE
REAL TIME ANALYTICS INFRASTRUCTURE WITH AZUREMarco Pozzan
 
What is in reality a DAX filter context
What is in reality a DAX filter contextWhat is in reality a DAX filter context
What is in reality a DAX filter contextMarco Pozzan
 
Azure saturday pn 2018
Azure saturday pn 2018Azure saturday pn 2018
Azure saturday pn 2018Marco Pozzan
 
Power B: Cleaning data
Power B: Cleaning dataPower B: Cleaning data
Power B: Cleaning dataMarco Pozzan
 
Power bi Clean and Modelling (SQL Saturday #675)
Power bi Clean and Modelling  (SQL Saturday #675)Power bi Clean and Modelling  (SQL Saturday #675)
Power bi Clean and Modelling (SQL Saturday #675)Marco Pozzan
 
Power BI and business application platform
Power BI and business application platformPower BI and business application platform
Power BI and business application platformMarco Pozzan
 
Big data e business intelligence
Big data e business intelligenceBig data e business intelligence
Big data e business intelligenceMarco Pozzan
 

Más de Marco Pozzan (20)

Metadata Driven Pipeline with Microsoft Fabric
Metadata Driven Pipeline  with Microsoft FabricMetadata Driven Pipeline  with Microsoft Fabric
Metadata Driven Pipeline with Microsoft Fabric
 
Data Warehouse with Fabric on data lakehouse
Data Warehouse with Fabric on data lakehouseData Warehouse with Fabric on data lakehouse
Data Warehouse with Fabric on data lakehouse
 
Data modelling for Power BI
Data modelling for Power BIData modelling for Power BI
Data modelling for Power BI
 
SlideModellingDataSat.pdf
SlideModellingDataSat.pdfSlideModellingDataSat.pdf
SlideModellingDataSat.pdf
 
Datamart.pdf
Datamart.pdfDatamart.pdf
Datamart.pdf
 
Datamart.pptx
Datamart.pptxDatamart.pptx
Datamart.pptx
 
REAL TIME ANALYTICS INFRASTRUCTURE WITH AZURE
REAL TIME ANALYTICS INFRASTRUCTURE WITH AZUREREAL TIME ANALYTICS INFRASTRUCTURE WITH AZURE
REAL TIME ANALYTICS INFRASTRUCTURE WITH AZURE
 
What is in reality a DAX filter context
What is in reality a DAX filter contextWhat is in reality a DAX filter context
What is in reality a DAX filter context
 
Azure saturday pn 2018
Azure saturday pn 2018Azure saturday pn 2018
Azure saturday pn 2018
 
Power B: Cleaning data
Power B: Cleaning dataPower B: Cleaning data
Power B: Cleaning data
 
Power bi Clean and Modelling (SQL Saturday #675)
Power bi Clean and Modelling  (SQL Saturday #675)Power bi Clean and Modelling  (SQL Saturday #675)
Power bi Clean and Modelling (SQL Saturday #675)
 
Power BI and business application platform
Power BI and business application platformPower BI and business application platform
Power BI and business application platform
 
Optimizing dax
Optimizing daxOptimizing dax
Optimizing dax
 
Optimizing dax
Optimizing daxOptimizing dax
Optimizing dax
 
Power bi + Flow
Power bi + FlowPower bi + Flow
Power bi + Flow
 
Power BI
Power BIPower BI
Power BI
 
Power query
Power queryPower query
Power query
 
xVelocity in Deep
xVelocity in DeepxVelocity in Deep
xVelocity in Deep
 
Big data e business intelligence
Big data e business intelligenceBig data e business intelligence
Big data e business intelligence
 
Dax en
Dax enDax en
Dax en
 

Big data analytics quanto vale e come sfruttarlo con stream analytics e power bi

  • 1. Big Data Analytics quanto vale e come sfruttarlo con Stream Analytics e Power BI Click to edit Master subtitle style #disatpn saturday 2019 Digital 1nn0vation
  • 2. #disatpn Chi sono? (Marco Pozzan) • Consulente di business Intelligence presso www.methode.it • Docente all’ università di Pordenone in corsi di data warehouse e analisi di Big Data • Fondatore della community di 1nn0va (www.innovazionefvg.net) • MCP, MCSA, MCSE, MCT dal 2014 MVP e dal 2016 MVP Reconnect per la Microsoft Data Platform marco.pozzan@methode.it @marcopozzan.it www.marcopozzan.it http://www.scoop.it/u/marco-pozzan http://paper.li/marcopozzan/1422524394
  • 3. #disatpn Agenda • Il mercato dei Big Data Analytics • Il mercato dei Big Data Analytics per settore • La sfida Smart & Fast • Introduzione alle architetture e ai servizi • Events Hub • Stream analytics • Demo
  • 4. #disatpn Il mercato degli analytics • l mercato italiano dei Big Data Analytics raggiunge nel 2018 un valore di 1,393 miliardi di euro • 26% in più rispetto al 2017. Trend positivo degli ultimi tre anni, con una crescita media del 21% ogni dodici mesi.
  • 5. #disatpn Il mercato degli analytics • Le aziende hanno maturato consapevolezza sul tema e l’hanno trasformata in investimenti infrastrutturali, sperimentazioni e progetti in produzione. • Rimane molto ampio il divario fra le grandi imprese che si dividono l’88% della spesa complessiva e le PMI, che rappresentano una quota esigua del mercato fermandosi al 12%.
  • 6. #disatpn Scomposizione spesa degli analytics • Il 45% della spesa in Analytics è dedicato ai software (database e strumenti per acquisire, elaborare, visualizzare e analizzare i dati, applicativi per specifici processi aziendali), • il 34% ai servizi (personalizzazione dei software, integrazione con i sistemi informativi aziendali, consulenza di riprogettazione dei processi) • Il 21% alle risorse infrastrutturali (capacità di calcolo, server e storage da impiegare nella creazione di servizi di Analytics).
  • 7. #disatpn Il mercato degli analytics per settore
  • 8. #disatpn Fast & Smart «Per coglierne appieno i benefici, è necessario che i Big Data vengano analizzati secondo modalità smart, mediante sofisticati algoritmi di machine learning in grado di identificare pattern e correlazioni presenti nei dati e di trasformare questa conoscenza in azioni concrete che permettano alle imprese di acquisire vantaggio competitivo” «Carlo Vercellis, Responsabile scientifico dell’Osservatorio Big Data Analytics & Business Intelligence»
  • 9. #disatpn Le grandi aziende in numeri • Il 62% dichiara la necessità di competenze specifiche di Machine Learning e Deep Learning • poco più di 1/3 le ha già introdotte in organico • 30% prevede di farlo nei prossimi due anni. • 11% sfrutta oggi modalità di analisi in Real-Time o in Streaming, in cui vi è un flusso continuo di raccolta dei dati analizzati con continuità. • 33% possiede un’infrastruttura che consente analisi in Near Real- Time, con una frequenza d’aggiornamento che scende a meno di un’ora. • 56% analizza i dati in modalità batch, con un aggiornamento del sistema a intervalli regolari e predefiniti (solitamente giornalieri).
  • 10. #disatpn Le PMI in numeri • il 7% delle PMI nel 2018 ha avviato progetti di Big Data Analytics • 4/10 dichiarano di svolgere analisi tradizionali • il 10% ha una comprensione scarsa o nulla di quali vantaggi i Big Data potrebbero apportare e di come hanno un approccio all’analisi dei dati limitato e tradizionale. • il 31%, è invece sulla buona strada sia dal lato della consapevolezza sia dal lato tecnologico. • Una PMI su dieci, infine, si dimostra pronta per lanciare delle iniziative di Analytics. • 42% non si sono mosse per mancanza di risorse
  • 11. Introduzione architetture dei Big Data Analytics
  • 12. #disatpn Tecniche di processamento • Query batch • Risponde alla domanda, «Quale era la velocità del vento ieri?" • Streaming query • Risponde alla domanda, «quale è stata la media delle raffiche di vento nell’ultima ora?" • Approccio ibrido
  • 13. #disatpn L’architettura Lambda • Hot Path: fornisce l'elaborazione del flusso di dati, consentendo l'accesso istantaneo ai dati e all'analisi, ma a scapito di una inferiore precisione. • Cold Path: migliora la precisione con l'elaborazione batch completa, utilizzando metodi di affinamento dei dati.
  • 14. #disatpn Limitazioni • La sfida principale con l'architettura lambda è che è necessario mantenere la coerenza tra la logica di elaborazione del percorso cold e hot. • Se si modificano i requisiti analitici, è necessario modificare entrambi i set di codice per mantenere la coerenza. • Una seconda considerazione è che, dopo che i dati sono stati acquisiti ed elaborati in un modello, i dati sono effettivamente immutabili e non possono più essere modificati. • Le modifiche al modello, ad esempio la raccolta di una vasta gamma di dati o la creazione online di dispositivi di acquisizione più recenti, rendono difficile la generazione di confronti più lungo termine dei dati storici
  • 15. #disatpn L’architettura Kappa • In Kappa, i dati originali vengono conservati come una sequenza di file "log". Se è si modifica il modello, è possibile "riprodurre" i vecchi dati dai registri e applicare la logica del nuovo modello • hot e cold utilizzano gli stessi dati. Se il modello cambia, i dati storici possono essere ritrasmessi attraverso il percorso hot per dare i risultati aggiornati.
  • 16. #disatpn Soluzione Ibrida • Azure Stream Analytics = Consente di elaborare flussi di dati da Event o Iot Hub • Azure Machine Learning = Supporta l'analisi e la modellazione predittiva di flussi di dati. • Azure Blob storage = Mantiene i dati in modo scalare, fino a un certo punto di scalabilità. Archivio di oggetti generico • Azure Data Lake Storage = Rende persistenti i dati su scala massiva con oggetti o dimensioni file illimitati. • Azure Data Lake Analytics = Esegue l'elaborazione batch e l'analisi di grandi dati, genera un'elaborazione parallela sui Big Data. • Azure SQL Data Warehouse = Fornisce un database relazionale in grado di una elaborazione parallela (MPP) per big data • i dati del dispositivo vengono trasmessi da events Hubs o dagli ioT hubs (a seconda delle periferiche di origine). • Power BI e app personalizzata (visualizzazione)
  • 18. #disatpn Event Hubs • Azure Event Hubs è una piattaforma di streaming Big Data e un servizio di import di eventi, in grado di ricevere ed elaborare milioni di eventi al secondo. • I dati inviati a un hub di possono essere trasformati e archiviati utilizzando qualsiasi provider di analisi in tempo reale o oggetti di batch/storage. • Event Hub rappresenta la "porta principale" per una pipeline di eventi, spesso definita ingestion di eventi • Un ingestion di eventi è una componente o servizio che si trova tra gli editori di eventi e i consumatori di eventi per disaccoppiare la produzione di un flusso di eventi dal consumo di tali eventi.
  • 20. #disatpn Le partizioni • Una partizione è una sequenza ordinata di eventi. Quando arrivano nuovi eventi, vengono aggiunti alla fine di questa sequenza. • Event Hub conserva i dati per un tempo configurato che si applica a tutte le partizioni. Non puoi eliminarli esplicitamente. • Il numero di partizioni è specificato al momento della creazione e deve essere compreso tra 2 e 32. non è modificabile!!! • sono un meccanismo di organizzazione dei dati che si riferisce al parallelismo, il numero di partizioni si riferisce direttamente al numero di lettori simultanei che ci si aspetta di avere.
  • 21. #disatpn Throughput Units • La capacità di throughput è controllata dalle unità di throughput. • Le TU sono unità di capacità pre-acquistate. Una singola unità di throughput include la seguente capacità: • Ingresso: fino a 1 MB al secondo o 1000 eventi al secondo (a seconda dell'evento che si verifica per primo). • Uscita: fino a 2 MB al secondo o 4096 eventi al secondo.
  • 23. #disatpn Tipi di data sources • Data stream: sono eventi di streaming che formano una sequenza illimitata nel tempo. • Event Hubs • IoT Hub • Blob storage • Possono essere in formato CSV, JSON o Avro • Reference data: per connettersi a set di dati ausiliari statici che vengono utilizzati come dati di ricerca nel flusso. Si utilizza un join nella query di Stream Analytics per unire i reference data con il data stream • Blob storage (max 300 MB)
  • 24. #disatpn Strutture di un Stream Analytics job • Di seguito elenchiamo le strutture disponibili per un Stream Analytics job • Input(s) • Output(s) • Query Inputs Outputs Iot Hub Azure Data Lake Store Event Hubs Azure SQL DB Azure Blob Storage Azure Blob Storage Event Hubs Power BI Azure Table Storage Service Bus Queues Services Bus topics Azure Cosmos DB
  • 25. #disatpn Definire le query base • Si utilizza un linguaggio di query simile a SQL per definire le query in Stream. • Ai fini della sintassi, questo linguaggio di query è simile a T-SQL ma differisce in come viene eseguita la query. https://aka.ms/swzhvp • SELECT • INTO output • FROM input • Predicate clauses
  • 26. #disatpn Definire le query base • Si utilizzano le query di Stream Analytics per selezionare i dati da 1 o molti input in 1 o più output • Di seguito un esempio di una query che si usa per passare tutti gli eventi dall'input all'output • Si può anche selezionare colonne specifiche e filtrare i dati in base a una condizione, come segue: SELECT * INTO [Output] FROM [Input] SELECT ProductName, ProductCategory, Price INTO [Output] FROM [Input] WHERE Price >=200
  • 27. #disatpn Definire le query base • Di seguito è riportato un esempio per utilizzare più output in un processo di analisi dei flussi: • Si noti che, mentre è possibile avere più input e più output in un singolo job di Stream Analytics, le best practice consigliano di suddividere le query non correlate in più job per ottimizzare le prestazioni. SELECT ProductName, ProductCategory, Price INTO [Output] FROM [Input] WHERE Price >=200 SELECT ProductName, ProductCategory, Price INTO [Output] FROM [Input] WHERE Price <200
  • 28. #disatpn Timestamp • Per elaborare gli eventi in base a un timestamp personalizzato o all'ora in cui si verificano, utilizzare TIMESTAMP BY nella dichiarazione SELECT: SELECT TransTime, RegisterId, TransId, TransAmt FROM [Input] TIMESTAMP BY TransTime
  • 29. #disatpn Aggregations and groupings • Si possono usare molte funzioni di aggregazione ed eseguire calcoli o creare un output con più dati rispetto all’input • Le aggregazioni sono simili a T-SQL e la GROUP BY richiedono una time window • Selezionare i primi 10 prodotti per quantità di vendita negli ultimi tre minuti (windowing function): • Esempi di query per i modelli di utilizzo di Stream Analytics comuni https://aka.ms/esevh2 SELECT ProductName, CollectTop(10) OVER (ORDER BY QuantitySold DESC) FROM [Input] timestamp by time GROUP BY TumblingWindows(minute,3), ProductName
  • 30. #disatpn Grouping data per il time • Ci sono tre funzioni di windowing in Stream Analytics: • Sliding window • Tumbling window • Hopping window
  • 31. #disatpn Sliding Window • Le Sliding Window considerano tutte le finestre possibili della lunghezza specificata. (scorre) • Tuttavia, per rendere il numero di Windows gestibile per Stream Analytics, le finestre scorrevoli producono un output solo quando entra un evento o esce dalla finestra. • Ogni finestra ha almeno un evento e ogni evento può essere in più di una Sliding Window .
  • 32. #disatpn Sliding Window (esempio) • se abbiamo il seguente set di dati di input con un tempo e un valore: • Una finestra scorrevole di 10 secondi produrrà finestre che terminano nei seguenti orari: • 12-valore 1 entra nella finestra; un valore nella finestra (valore 1). • 19-valore 2 entra nella finestra; due valori nella finestra (valore 1, valore 2). • 22-valore 1 esce dalla finestra; un valore nella finestra (valore 2). timestamp (seconds) Value 12 1 19 2 24 3
  • 33. #disatpn Sliding Window (esempio) • Una finestra scorrevole di 10 secondi produrrà finestre che terminano nei seguenti orari: • Il valore 24 a 3 entra nella finestra; due valori nella finestra (valore 2, valore 3). • 29-valore 2 esce dalla finestra; un valore nella finestra (valore 3). timestamp (seconds) Value 12 1 19 2 24 3
  • 34. #disatpn Tumbling Window • Le finestre mobili sono finestre a dimensione fissa che non si sovrappongono e sono contigue. • Quando il tempo della dimensione della finestra è passata, una nuova finestra viene immediatamente creata con la stessa durata. • Ad esempio, per calcolare la temperatura media per dispositivo per ciascun periodo di cinque minuti:
  • 35. #disatpn Hopping Window • Le finestre di hopping vengono utilizzate per specificare finestre sovrapposte pianificate. Finestre hopping sono definite con windowsize, hopsize e timeunit. • Windowsize: descrive la dimensione della finestra. • Hopsize: descrive quanto ciascuna finestra avanza. • Timeunit: descrive l'unità di tempo per il windowsize e il punto di passaggio.
  • 36. #disatpn Hopping Window (esempio) • Abbiamo il seguente insieme di dati, inclusi timestamp e nome dell'evento: • Si specifica una finestra di hopping con un windowsize di 10, una hopsize di 5 e i secondi come timeunit. Questo creerà le seguenti finestre: • 0-10 secondi: contiene eventi A, B e C. • 5-15 secondi: contiene gli eventi C e D. • 10-20 secondi: contiene gli eventi D, E e F. timestamp (seconds) Value 3 A 5 B 8 C 12 D 16 E 20 F
  • 37. #disatpn Streaming units • Per capire la quantità di potenza che si può assegnare ad un job di Stream Analytics, è necessario capire cosa è una Unità di streaming (SU). • sono le risorse di calcolo necessarie per eseguire un job di streaming, e sono una combinazione di CPU, memoria e dei tassi di I/O • Gli SU forniscono un modo per astrarre l'utente da dover imparare le risorse di calcolo individuali necessario per eseguire i job di Stream Analytics.
  • 38. #disatpn Demo • Il throughput per Power BI è dato dal limite di 1M di righe all’ora (per la TumblingWindow) • Formula di ingestion = (n°dispositivi * 60 *60)/throughput => (50 *60 *60)/1000000= 0,18 sec