michał Żyliński: cortana dla niewtajemniczonych
TRANSCRIPT
• W szczycie• 1600 rdzeni
• 5.6 TB RAM
• Ponad 2000 zdjęć/sekundę
Efekt pracy jednego programisty (3 tygodnie pracy) * Dane z września 2015
CHALLENGE
Dartmouth-Hitchcock Medical Center is a leading
regional medical center in New England with 1.2
million patients and more than 1,000 physicians in
virtually all areas of medicine. It wanted to replace
static treatment plans based on outdated, generic
data with highly personalized treatment plans or
“pathways” that would evolve based on the patient’s
own data and near-real-time information such as
vital signs, moods, and exercise habits from similar
people in the same region.
o Empowered, healthier patients with
personalized, evidence-based treatment plans
and collaborative care
o Millions of dollars saved in readmission costs,
unnecessary ER and doctor visits, and missed
work
o Improved quality of life with 360-degree view
of patient health, mood, and behavior
o More effective population health management
BENEFITSSOLUTION
Dartmouth-Hitchcock created ImagineCare, a new
consumer-focused solution based on the Microsoft
Cortana Analytics Suite and Microsoft Dynamics CRM.
ImagineCare collects and analyzes real-time and
historical data from medical and health devices and
electronic health records, and then surfaces metrics
including predictive analytics in clinical dashboards
and mobile apps. Clinicians can adjust treatment
plans and immediately alert patients to changes, and
patients and doctors can collaborate in real time.
DARTMOUTH-HITCHCOCK
Personalized care delivers
healthier populations
“This system is really transforming how we can deliver health and wellness to
the population. Despite all of the technology involved, ImagineCare does
not lose that human touch, which is so important.”
Nathan LarsonDirector of Remote Medical Sensing
Azure Storage
Architektura klastra
Azu
re V
Net
Secure gateway
AuthN
HTTP Proxy
Highly available
Head nodes
xWorker nodes
HT
TP
S
traff
ic
ODBC/JDBC WebHCatalog Oozie Ambari
Customizecluster?
Proces tworzenia klastra (technicznie)
Sesja RDP do klastra (ale
bez gwarancji trwałości)
Ręcznie
Zarządzanie i konfiguracja
Hive/Oozie Metastore
Storage accounts & VNET’s
ScriptAction
Za pomocą portalu
Ready for deployment
AcceptedCluster storage
provisioned
AzureVMconfiguration
Running
Timed Out
Error
Cluster operational
Configuring HDInsight
Cluster customization (custom script
running
Config values
JAR file placement in
cluster
PowerShell/SDK
No
Yes
Integracja z Visual StudioDostarczana razem z Azure SDK
Wsparcie dla VS 2012, 2013 i 2015
Proste zarządzanie klastrem (głownie z perspektywy Hive)
Podgląd powiązanych zasobów
Tworzenie tabel
Uruchamianie kwerend Hive
Podgląd postępów przetwarzania
Lokalna walidacja skryptów
IntelliSense
Integracja z Visual Studio
27
Budowanie topologii Storm
Gotowe szablony
Wsparcie dla spoutów i boltów tworzonych w C#
Topologie heterogeniczne (.NET i Java)
Monitorowanie topologii
Debugger
Proces ETL
Specjalizowane narzędzia ETL (np. SSIS)
Zdefiniowany schemat
Kwerendy
Rezultat
Relacyjne
Aplikacje
biznesowe
Tradycyjny sposób patrzenia na analitykę1. Zebranie wymagań od użytkowników na potrzebne zestawienia i
raporty
2. Określenie schematu danych i optymalnych zapytań
3. Zidentyfikowanie potrzebnych źródeł danych
4. Budowa procesu ETL w oparciu o z góry narzucony schemat
danych.
5. Stworzenie raportów.
Niepotrzebne dane są usuwane lub archiwizowane
30
Jak najdłuższe
przechowywanieAnaliza Rezultaty
Zebranie informacji
ze wszystkich
źródeł
Iteracja
Nowe podejście: Wszystkie dane mają wartość
Nie jesteśmy w stanie określić wartości danych z góry
Kolekcjonowanie danych staje się nawykiem
Brak narzuconych schematów danych – różne formaty natywne
Schemat danych zależy od sposobu ich przetwarzania i zależny jest od zapytań
Aplikacje i użytkownicy traktują dane jako dobro wspólne
31
Zintegrowana usługa
przechowywania i analizy danych
W pełni zarządzana
Łatwa w użyciu
Sprawdzona w dużej skali
Dowolny typ, rozmiar i format
danych
Oparta o otwarte standardy
Microsoft Azure Data Lake
YARN
HDFS
HDInsightAnalytics
Service
Store
Partners
U-SQL
Clickstream
Sensors
Video
Social
Web
Devices
Relational
Applications
32
Rozproszony system plików
Zoptymalizowany pod kątem
przetwarzania danych
Brak ograniczeń pojemności
Dowolny format danych
Wysoka dostępność (w tym
georeplikacja)
WebHDFS REST API
Wspierany przez wszystkie
wiodące dystrybucje Hadoop
Przystosowane również dla
scenariuszy IoT
Azure Data Lake: Store
YARN
HDFS
HDInsightAnalytics
Service
Store
U-SQL
Clickstream
Sensors
Video
Social
Web
Devices
Relational
Applications
33
ADL Store jest kompatybilny z HDFS
Map reduceHBase
transactionsAny HDFS applicationHive query
Azure HDInsight
Hadoop WebHDFS clientHadoop WebHDFS client
WebHDFS
endpointWebHDFS
REST API
WebHDFS
REST API
34
ADL Store file ADL Store file ADL Store file ADL Store fileADL Store file
Azure Data Lake Store
ADL Store i bezpieczeństwo: RBAC
Każdy plik i katalog ma swojego
właściciela (grupę)
Osobne uprawnienia (RWX) dla
właścicieli, członków grupy i
pozostałych użytkowników
Można zarządzać ACLami z portalu
lub za pomocą linii komend
35
ADL Store i bezpieczeństwo: szyfrowanie
Szyfrowanie danych podczas
transmisji (HTTPS) i przy zapisie
Użytkownicy będą mogli samodzielnie
zarządzać kluczami lub skorzystać z
usługi Azure Key Vault
36
Azure Data Lake Analytics Service
Alternatywa do Hadoop
Oparty o Apache YARN
Dynamiczne skalowanie bez myślenia o klastrach
Opłaty za ilość zapytań
Wsparcie dla Azure AD w celu kontroli dostępu i integracji z lokalnymi środowiskami
Korzysta z U-SQL aby połączyć wygodę SQL z elastycznością C#
38
Po co kolejna usługa?
39
Nieograniczona
pojemnośćAutomatyczne
skalowanie
Zrównoleglanie
skryptów U-SQL
010010
100100
010101
Ten sam kod Integracja z VS
Debugger,
optymalizacja zapytań,
monitorowanie itd..
Łatwiejsza
nauka
Pochodna SQL i C#
ADLA ma uzupełniać HDInsightPodobne zastosowania, narzędzia i klienci
HDInsight
Dla miłośników open source: Java, Eclipse, Hive itd.
Konfigurowalne i elastyczne klastry w postaci zarządzanej usługi
ADLA
Dla dotychczasowych użytkowników
C#, SQL i PowerShella
Wygoda, wydajność i automatyczna
skalowalność – „job service”
Zapytania U-SQL: Wzorzec działaniaPrzetwarzanieOdczyt Zapis
INSERT
OUTPUT
OUTPUT
RowSetSELECT…
FROM…
WHERE…
EXTRACT
EXTRACT
SELECT
SELECT
Azure
Data
Lake
Azure
Data
Lake
Azure
SQL
DB
Azure
Storage
Blobs
Azure
Storage
Blobs
15
RowSet
U-SQL i rozszerzenia
Wbudowane
operatory, funkcje i
agregaty
C# expressions (in SELECT statements)
User-defined aggregates (UDAGGs)
User-defined functions (UDFs)
User-defined operators (UDOs)
43
Azure SQL Data WarehouseRelacyjna hurtownia danych w modelu usługowym, zarządzana w chmurze przez Microsoft.
Najbardziej elastyczny model rozliczeniowy na rynku z wbudowanymi możliwościami klasy Enterprise.
Możliwość integracji ze środowiskami chmurowymi lub on-premise.
Prosty model rozliczeniowy oparty o przechowywane dane i czas obliczeń
Płatność zależna od realnych potrzeb
Wysoka wydajność bez potrzeby zmiany architektury aplikacji
Niski koszt przechowywanianieużywanych danych
Zarządzanie, wsparcie i niezbędna infrastruktura zawarta w cenie
Przetwarzanie MPP petabajtów danych
Przeskalowanie środowiska w mniej niż minutę
Szybsze rezultaty obliczeń
Płatność tylko za realne zużycie
Ścisła integracja z pozostałymi składnikami platformy Azure
Możliwość budowy rozwiązań hybrydowych
SQL Server w tle
App Service
Intelligent App
Hadoop
Azure Machine Learning
Power BI
Platforma zbudowana z myślą o chmurze
Azure SQL Database
SQL
Azure SQL DataWarehouse
ASA jako element architektury systemu
Data Source Collect Process ConsumeDeliver
Event Inputs- Event Hub
- Azure Blob
Transform- Temporal joins
- Filter
- Aggregates
- Projections
- Windows
- Etc.
Enrich
Correlate
Outputs- SQL Database
- Blob Storage
- Event Hub
- Power BI
- Table Storage
- Service Bus Queue
- Service Bus Topic
- DocumentDb*
Azure
Storage
• Temporal Semantics
• Guaranteed delivery
• Guaranteed up time
Azure Stream Analytics
Reference Data- Azure Blob
- …
{"user_id":"michalz", "session_id": "28e12480-724d-11e5-80ca-cc3d821e73b3", "event_type": "START", "event_value": ""}
{"user_id":"michalz", "session_id": "cf1498ee-724d-11e5-9408-cc3d821e73b3", "event_type": "SCORE", "event_value": "10"}
{"user_id":"michalz", "session_id": "cf1498ee-724d-11e5-9408-cc3d821e73b3", "event_type": "SCORE", "event_value": "400"}
{"user_id":"michalz", "session_id": "2a8bf6e1-7264-11e5-a7ca-cc3d821e73b3", "event_type": "STOP", "event_value": "410"}
Wykrywanie anomalii
• Wykrywanie włamań• Wadliwe egzemplarze produktów• Zaawansowany monitoring infrastruktury IT
Nietypowa aktywnośćDziałalność hakerów lub terrorystów, próby włamań do systemów bankowych, telekomunikacyjnych…
Błąd narzędziowyUszkodzenia lub zużycie sprzętuZmiana środowiska
• Pogoda, nowe wzorce zakupowe, mutacje w genach
Błąd ludzkiPrzekładający się zwykle na różnicę w danych wejściowych
Input Dataset
Feature Selection
Training set Testing set
Algorithm
Train Model Score Model
Evaluate Model
Budowa modelu ML
Age Workclass Education Occupation Sex Hours-per-week Income
39 State-gov Bachelors Adm-clerical Male 40 <=50K
50 Self-emp-not-inc Bachelors Exec-managerial Male 13 <=50K
38 Private HS-grad Handlers-cleaners Male 40 <=50K
53 Private 11th Handlers-cleaners Male 40 <=50K
28 Private Bachelors Prof-specialty Female 40 <=50K
37 Private Masters Exec-managerial Female 40 <=50K
49 Private 9th Other-service Female 16 <=50KPublish Model
Przykład: profilowanie użytkowników
Copy new users to blob storage
Join and aggregateactivity per week and user table
WeeklyPrivacy:Refresh:
Xbox New
Users
Game New
Users
Game Activity
Per WeekDaily
New User Activity Per
Week
Contains PIIWeekly, Monby 8AM