Wprowadzenie do Apache Spark. Jakub Toczek

Podobne dokumenty
Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family

Hadoop i Spark. Mariusz Rafało

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Dni: 2. Partner merytoryczny. Opis: Adresaci szkolenia

Wprowadzenie do Hurtowni Danych

Hadoop : kompletny przewodnik : analiza i przechowywanie danych / Tom White. Gliwice, cop Spis treści

Map Reduce Wprowadzenie do Apache Hadoop

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Z-ID-608b Bazy danych typu Big Data Big Data Databases. Specjalnościowy Obowiązkowy Polski Semestr VI

Big Data & Analytics

Architektura rozproszonych magazynów danych

Hbase, Hive i BigSQL

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

R i ekosystem Hadoop

Narzędzia i trendy Big Data

Przetwarzanie danych z wykorzystaniem technologii NoSQL na przykładzie serwisu Serp24

SAS Access to Hadoop, SAS Data Loader for Hadoop Integracja środowisk SAS i Hadoop. Piotr Borowik

WYKORZYSTANIE I ROZWÓJ WOLNEGO OPROGRAMOWANIA W WOJEWÓDZKIM WĘŹLE INFRASTRUKTURY INFORMACJI PRZESTRZENNEJ

Modelowanie Data Mining na wielką skalę z SAS Factory Miner. Paweł Plewka, SAS

Instytut Informatyki Politechniki Warszawskiej

Czym jest technologia Bluetooth?

Analityka danych w środowisku Hadoop. Piotr Czarnas, 27 czerwca 2017

Elektroniczny. Obieg Dokumentów SPRAWNA WYMIANA INFORMACJI W FIRMIE SKUTECZNA APLIKACJA DO ZARZĄDZANIA OBIEGIEM DOKUMENTÓW SPRAWNA WYMIANA

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Informacje organizacyjne:

PLNOG#10 Hadoop w akcji: analiza logów 1

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family

Hadoop - wprowadzenie. Łukasz Król

Apache Hadoop framework do pisania aplikacji rozproszonych

Komputer i urządzenia z nim współpracujące.

Analityka danych w środowisku Hadoop. Piotr Czarnas, 5 czerwca 2017

Hurtownie danych wykład 5

AE/ZP-27-16/14. Oprogramowanie do wykonywania kopii zapasowych oraz zarządzania maszynami wirtualnymi

Programowanie obiektowe

SQL Server 2016 w świecie Big Data

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań,

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Obudowa zewnętrznego dysku USB 2.0, 2.5" (6.35cm)

Big Data to skalowalność i prostota obsługi wielkich ilości danych!

FORMULARZ OFERTY CENOWEJ. Future Processing Sp. z o.o. ul. Bojkowska 37A Gliwice NIP: NIP:

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

PRZEJŚCIÓWKA Z USB 2.0 DO IDE/SATA

Przyszłość w rękach Big Data -wizje i technologie dziś. Artur Wroński Information Management Technical Team Leader

dziennik Instrukcja obsługi

Tematy prac dyplomowych inżynierskich

Rozwiązania bazodanowe EnterpriseDB

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Biuletyn techniczny. CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu. Copyright 2006 COMARCH SA

Zarządzanie partycjami

Searching for SNPs with cloud computing

MapReduce. Janina Mincer-Daszkiewicz Systemy rozproszone. MSUI, II rok

Zmiana specyfikacji istotnych warunków zamówienia

Tworzenie partycji i dysków logicznych

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

Tworzenie maszyny wirtualnej

Podstawy Pentaho Data Integration

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Program nadzorczy - KaDe PREMIUM zawarty w cenie kontrolera. elshop

USB 3.0 DUAL SATA HDD STACJA DOKUJĄCA

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Przed restartowaniem routera odłącz wszystkie urządzenia podłączone pod porty USB.

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: z zakresu systemów

Test z systemów operacyjnych

Podłączenie kasy fiskalnej Next do programu PC-Market przez SCServer.

O mnie

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Konwersja maszyny fizycznej na wirtualną.

na podstawie bazy Oracle NoSQL

Płatniku rozlicz PIT-11 przez internet!

Szkolenie: Jak mieć więcej czasu na wyciąganie wniosków

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Oferta firmy MemoTech.PL dotycząca wszystkich usług IT.

Dźwięk w IOS. Wykład 8. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.

Programowanie w Javie 2. Płock, 26 luty 2014 r.

Zaawansowany kurs języka Python

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

Algorytmy i Struktury Danych

Instrukcja aktualizacji Windows 7 do Windows 8 na komputerach ADAX v.0.2

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Działanie systemu operacyjnego

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Fiery Remote Scan. Uruchamianie programu Fiery Remote Scan. Skrzynki pocztowe

Wprowadzenie do narzędzia MAVEN

Działanie systemu operacyjnego

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

WYKŁAD 3 Jądro systemu i procesy. Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Partition Wizard Home Edition Aplikacja przeznaczona do partycjonowania dysków twardych, obsługująca również macierze RAID oraz dyski o pojemności

Działanie systemu operacyjnego

JAVA EE 8. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska

Java jako język programowania

Pomoc do programu Oferent

Wprowadzenie do sieciowych systemów operacyjnych. Moduł 1


Instalacja Ubuntu 12.12

Strumienie, pliki. Sortowanie. Wyjątki.

BEXLAB RYSZARD MATUSZYK, BRZOZOWA 14, DĘBE WIELKIE, TEL. KOM.: Instalacja. Plantator zarządzanie danymi.

Transkrypt:

Wprowadzenie do Apache Spark Jakub Toczek

Epoka informacyjna

MapReduce

MapReduce

Apache Hadoop narodziny w 2006 roku z Apache Nutch open source składa się z systemu plików HDFS i silnika MapReduce napisany w Javie i w C

HDFS

Apache Spark - czym jest? Ogólny silnik do przetwarzania Big Data. Open source.

Spark - motywacja Trudność w programowaniu w Hadoopie (MapReduce) Nadmierne wykorzystywanie HDD przez Hadoopa Potrzeba frameworku bardziej przyjaznego machine-learning

Trudność w programowaniu

Trudność w programowaniu Python: Scala: Java:

Spark - motywacja Trudność w programowaniu w Hadoopie (MapReduce) Nadmierne wykorzystywanie HDD przez Hadoopa Potrzeba frameworku bardziej przyjaznego machine-learning

Historia 2009 - wychodzi pierwsza wersja Spark a (część doktoratu Matei Zaharia z UC Berkeley AMPLab) 2010 - upublicznienie kodu źródłowego (licencja BSD) 2013 - Spark staje się częścią Apache Software Foundation i zmienia licencję na Apache 2.0 listopad 2014 - Apache Spark pobija rekord w szybkości sortowania (100 TB danych w 23 min, wcześniejszy rekord: Hadoop i 72 min używając 10x więcej maszyn)

Spark i optymalizacja Spark oferuje nam: lazy computation (optymalizacja przed wykonywaniem) jak najmniejsza ilość skanowań HDD (jak się da to tylko na początku, reszta obliczeń w pamięci RAM) obsługa interaktywnych zapytań możliwość przetwarzania strumieni prosty i przyjemny framework wsparcie dla machine learning

Budowa Sparka

Główne filary Sparka DAG Direct Acyclic Graph (Skierowany graf acykliczny) RDD Resilient Distributed Dataset

DAG - przykład WordCount

DAG - przykład mapowanie + filtrowanie

RDD Struktura danych w Sparku. Niezmienna, rozproszona kolekcja obiektów. Każdy zbiór danych w RDD jest podzielony na logiczne partycje, które mogą być przetwarzane przez różne wierzchołki klastra. Może przechowywać obiekty Pythonowe, Javowe i w Scali. Read-only - po każdej operacji na RDD tworzony jest nowy RDD.

RDD Istnieją dwa sposoby stworzenia RDD: zrównoleglenie kolekcji danych w programie sterownika odwołanie się do zewnętrznego systemu przechowywania danych jak HDFS, HBase albo dowolne źródło danych oferujące Hadoop Input Format Spark używa RDD do szybszego przetwarzania operacji MapReduce.

RDD Trzy podstawowe tryby przetrzymywania RDD: tylko w pamięci tylko na dysku w pamięci i na dysku

RDD Dwa rodzaje obsługiwanych operacji: transformacje akcje Przykłady transformacji: map, filter, flatmap, groupbykey, reducebykey, aggregatebykey, pipe i coalesce. Przykłady akcji: reduce, collect, count, first, take, countbykey i foreach. Zapraszam na: http://spark.apache.org/docs/latest/programming-guide.html

Dlaczego RDD? Może być przechowywany w pamięci podręcznej. Aplikacje iteracyjne jak i interaktywne wymagają szybkiej wymiany danych między równoległymi jobami. W MapReduce wymiana danych jest bardzo wolna przez replikacje, serializacje i zapis danych na dysk. Bez względu na system plików, zajmuje to ok 90% całkowitego czasu przetwarzania.

Operacje iteracyjne na MapReduce

Operacje interaktywne na MapReduce

Operacje iteracyjne na Spark RDD

Operacje interaktywne na Spark RDD

Jak działa Apache Spark?

Przykład WordCount

Przykład WordCount

Przykład WordCount

Spark Streaming Rozszerzenie Sparka generujące mikro-zadania wsadowe (co jakiś czas np 2s), pozwalające na analizę strumieni danych. Używa tych samych mechanizmów do zrównoleglania co Spark Core. Zapewnia analizę elementu strumienia danych dokładnie raz. Większość innych frameworków traktuje strumienie pojedynczo.

Spark Streaming

Spark SQL Zadania są generowane na podstawie zapytań SQL. Podobny do Hive, może korzystać z jego komponentów i zapytań.

Instalacja Nie wymaga wcześniej zainstalowanego Hadoopa. Trzeba mieć zainstalowane JDK. Działa na komputerach z systemem opartych na UNIXie (Linux, Mac OS) oraz Windows (tutaj trzeba zbudować projekt Spark a samemu za pomocą Maven a). Projekty buduje się za pomocą Maven a. (Z własnego doświadczenia lepiej na Win10 ściągnąć sobie maszynę wirtualną z linuxem)

Źródła https://www.tutorialspoint.com/apache_spark/ https://en.wikipedia.org/wiki/apache_spark http://spark.apache.org/docs/latest/programming-guide.html http://0x0fff.com/spark-architecture-talk/ https://www.sigmoid.com/apache-spark-internals/ https://www.infoq.com/articles/apache-spark-introduction