Presentation #4 from IBM conference "Analityka Nowej Generacji", 8th of March 2018, Warsaw
Title: Introduction to data science and spark
Presenter: Marcin Janiszewski
[language: polish]
3. Data science, nauka danych, znana
także jako nauka oparta o dane, jest
interdyscyplinarną dziedziną metod
naukowych, procesów, algorytmów i
systemów do wydzielenia wiedzy i
spostrzeżeń z danych w różnych
formach, zarówno strukturalnych, jak i
niestrulturalnych, podobna do
eksploracji danych.
4. Co się wydarzyło ?
Dlaczego coś się wydarzyło ?
Co się wydarzy ?
Co powinniśmy zrobić aby się
coś wydarzyło ?
5. Machine learning is a field of
computer science that gives computer
systems the ability to "learn" (i.e.
progressively improve performance on
a specific task) with data, without
being explicitly programmed.
Machine learning (uczenie
maszynowe) jest dziedziną
informatyki, która daje systemom
komputerowym możliwość „uczenia
się”, (to znaczy stopniowego
zwiększania wydajności określonego
zadania) za pomocą danych, bez
wyraźnego zaprogramowania.
7. Spark jest szablonem
aplikacji operującej w pamięci
dostępnej publicznie na
poziomie produktu i kodu (open
source), do rozproszonego
przetwarzania i analizy ogromnej
ilości danych.
8. 78% firm używają
produktów type Open
Source
45% klientów pozycjonują
Open Source na
pierwszym miejscu
#1
Postrzeganie
Open Source
przez
klientów
70% określa Spark jako
platforme, którą są
najbardziej zainteresowani
#2
Zapotrzebow
anie na Spark
Sources: Stack Overflow Survey, 2016; Spark Survey Databricks, 2015; PayScale, 2016; Syncsort, 2016;
• Spark jest najbardziej
aktywnym i największym z
projektów BigData
#3
Użycie Sparka
gwałtownie
rośnie
• Spark spowodowal
zdecydwany wzrost
zainteresowaniem
analityką na dużych
danych
#4
Spark
rozpowszech
nił BigData
9. ▪ Tradycyjne podejście: Specyfika MapReduce dla skomplikowanych zadań,
interaktynwych zapytań i rzeczywistego przetwarzania danych wytwarza wiele
powolonych operacji I/O na dyskach.
HDFS
Read
HDFS
Write
HDFS
Read
HDFS
Write
CPU
Iteration 1
Memory CPU
Iteration 2
Memory
10. ▪ Tradycyjne podejście: Specyfika MapReduce dla skomplikowanych zadań,
interaktynwych zapytań i rzeczywistego przetwarzania danych wytwarza wiele
powolonych operacji I/O na dyskach.
▪ Rozwiązanie: Przetwarzanie danych w pamięci przy użyciu nowego silnika
HDFS
Read
HDFS
Write
HDFS
Read
HDFS
Write
CPU
Iteration 1
Memory CPU
Iteration 2
Memory
HDFS
Read
CPU
Iteration 1
Memory CPU
Iteration 2
Memory
Zero Read/Write
Disk Bottleneck
Chain Job Output
into New Job Input
10–100x faster than
network & disk
11. Spark Core
Główncy silnik
obliczeniowy, obsługuje
rozproszone
przydzielanie zadań i
podstawowe funkcje I/O
Spark SQL
Spark
Streaming
MLlib
(machine
learning)
GraphX
(graph)
Wykonuje
zapytania SQL
Wykonuje
analize danych
strumieniowych
Mechanizmy
uczenia
maszynowego i
algorytmy
statyczne
Narzędzie do
przetwarzania
grafów
Wspierana
róźnorodność
źródeł i formatów
danych, zarówno
dla rozwiązań
prywatnych jak i w
chmurze.
BigInsights
(HDFS)
Cloudant
dashDB
Object
Storage
SQL
DB
…i wiele
innych
IBM CLOUD OTHER CLOUD CLOUD APPS ON-PREMISE
Data-
warehouse
12. Szybkość i
skalowalność
▪ In-memory architektura znacząco organiczająca
operacje disk I/O
Łatwość i dostępność ▪ Prosta i zrozumiała składnia , w porównaniu do
poprzednich rozwiązań.
▪ Prosty model programowania aplikowalny do
wszystkich przypadków i kroków w cyklu życia
danych
▪ Zintegrowany z popularnymi językami
programowania – Java, Python, Scala, R
▪ Nowe narzędzia konsekwetnie zwiększają dostęp
dla wszystkich (e.g. SQL dla analityków)
Dojrzałośc rozwiązania ▪ Duża i wciąż rosnąca społeczność usprawnia
funkcjonalność i wprowadza nowe możliwości.
13. ▪ Hurtownia danych – Spark łączy się z
innymi źródłami danych, ale nie ma
możliwości przechowywania danych.
▪ Dedykowany dla Hadoop – Spark może
pracować z Hadoop (szczególnie pod
kątem HDFS), ale Spark jest osobnym,
samodzielnym systemem.
▪ Tylko dla machine learning – Spark
zawiera machine learning i jest
dostosowany do tego typu operacji, ale
może również obsługiwać zdecydowanie
inne zadania.
▪ A replacement for Streams – Spark
Streaming jest micro-batching, nie realny
streaming, i nie może obsłużyć
rzeczywistych kompleksowych zdarzeń
?
15. Społeczność
Edukacja 1M+ data
scientists i inżynierów
poprzez kursy online
Sponsor AMPLab, twórców
i propagatorów Spark
Wpływ na
produkty
Integracja Spark w
większości produktów
3,500 pracowników
pracujących nad tematyką
Spark
Integracja Spark ze
wszystkimi platformami
Otwarcie Spark
Technology Cluster
(STC), 300 inżynierów
Open source SystemML
Współpraca z Databricks
Udział w
kluczowych
elementach
16. Poziom aktywności na poziomie komponentów w Spark 2.0
0
200
400
600
800
1000
1200
1400
Spark Core Spark SQL ML PySpark SparkR Streaming
Community Contributions by Component to Spark 2.0.0
18. Spark aplikacje wykorzystują
architekture DB2 Warehouse do
szybszego procesowania danych.
Wiele możliwości uruchamiania i
monitorowania aplikacji Spark.
SQL Pushdown operacji
agregujących i statystycznych
do silnika DB2 BLU.
19. Head Node
DB Coordinator
Spark Driver
Jupyter Server
Data
Partitions
Worker
SHM
DB
Data
Nodes
Cluster Mgr Master
Executor
Worker
Executor
Worker
Executor
Worker
Executor
Client App
DB
Data
Nodes
DB
Data
Nodes
DB
Data
Nodes
DB
Data
Nodes
DB
Data
Nodes
DB
Data
Nodes
DB
Data
Nodes
Data
Partitions
Data
Partitions
Data
Partitions
Data
Partitions
Data
Partitions
DB
Data
Nodes
DB
Data
Nodes
DB
Data
Nodes
DB
Data
Nodes
SHM SHM SHM
Spark Kernels
20. • Użycie Warehouse jako zwykłe źródło danych i pobranie wszystkich bądź
wybranych danych do Spark RDDS. Spark korzysta z szybkiego dostępu do
danych, ale nie wszystkie struktury indeksów są w pełni wykorzystywane i
dane są powielane do Spark co wymaga dodatkowych zasobów pamięci.
• Push down proces ze Spark do Data Warehouse
Pełne wykorzystanie korzyści silnika bazodanowego.
.
21. Operacje na RDDs (datasets)
• Transformacja
• Akcja RDD
1
RDD
2
RDD
3
Act
1
Act
2Transformacja konwertuje RDDS w inny RDDS
Akcje
++ (union) aggregate cache/persist cartesian
coalesce count distinct filter
flatmap/map groupby intersection reduceByKey
subtract union zip
reduce collect count first
take_ saveAs_ countByKey foreach
22. 1. Użycie lini poleceń do uruchamiania, monitorowania i zarządzania aplikacjami.
2. Użycie REST API
3. Użycie SQL procedur zapamiętanych
25. Wbudowany
IBM DSX Local
Integracja z
narzędziami do
tworzenia modeli
Wbudowany Spark
Integracja z
narzędziami do
wizualizacji
Wbudowany
Machine
Learning
26.
27. Flash for extreme
performance
Massive IO
bandwidth
Continuous
data load
Parallel
processing
Large-scale
memory processing
1. Up to 4X depending on specific x86 and POWER8 servers being compared
2. Up to 6X more cache comparing Intel e7-8890 servers to 12 core POWER8 servers. See speaker notes for more details.
Processors
flexible, fast execution
of analytics algorithms
4X
threads per core vs. x86
(up to 1536 threads per system)
Memory
large, fast workspace to
maximize business insight
4X
memory bandwidth vs. x861
(up to 32TB of memory)
Cache
ensure continuous data load
for fast responses
6X
more cache vs. x862
(>19MB cache per core)