ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

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

Architektura rozproszonych magazynów danych

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

Wprowadzenie do Hurtowni Danych

Searching for SNPs with cloud computing

Apache Hadoop framework do pisania aplikacji rozproszonych

Wprowadzenie do Apache Spark. Jakub Toczek

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Seminarium Bazy Danych I. BigTable. Piotr Świgoń Uniwersytet Warszawski

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

Jarosław Kuchta. Administrowanie Systemami Komputerowymi. System plików

Systemy plików FAT, FAT32, NTFS

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

HADOOP Dariusz Ż bik

Bigtable Rozproszony system pamięci

Map Reduce Wprowadzenie do Apache Hadoop

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

Hadoop i Spark. Mariusz Rafało

BASH - WPROWADZENIE Bioinformatyka 4

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Komputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji

Wprowadzenie do optymalnego wykorzystania MapReduce

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Architektura komputerów

PROBLEMATYKA OBLICZEŃ MASOWYCH W NAUKACH O ZIEMI. Satelitarny monitoring środowiska

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Map Reduce Proste zliczanie słów i zapytania SQL

Wstęp do Informatyki dla bioinformatyków

Wykład 2. Temat: (Nie)zawodność sprzętu komputerowego. Politechnika Gdańska, Inżynieria Biomedyczna. Przedmiot:

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

Kinowa Biblioteka Filmowa KINOSERWER. KinoSerwer

dr inż. Jarosław Forenc

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

Teoretyczne podstawy informatyki

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku

Projekt Fstorage. Łukasz Podkalicki Bartosz Kropiewnicki

Zaawansowane funkcje systemów plików. Ewa Przybyłowicz

Rozwiązanie Compuware dynatrace

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko

Wybrane działy Informatyki Stosowanej

Tadeusz Pankowski

Klaster obliczeniowy

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003

Sterowany jakością dostęp do usług składowania danych dla e-nauki

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

PROBLEMY NIEROZSTRZYGALNE

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

MANAGER 2010 PROFESSIONALP VS. VIRTUALIZATION WIRTUALIZACJA OBSŁUGIWANE ANAGER 2010 C MANAGER 2010 CORPORATE: Funkcja. Korzyści.

Pełna specyfikacja usługi Kreator WWW

Wprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko

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

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

Kinowa Biblioteka Filmowa KINOSERWER. KinoSerwer

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

1. Co to jest system operacyjny

TIN Techniki Internetowe zima

16MB - 2GB 2MB - 128MB

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Dokumentacja projektu QUAIKE Architektura oprogramowania

Materiały dla finalistów

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

T: Instalacja systemu Windows 2008 Serwer w maszynie wirtualnej VirtualBox.

Wprowadzenie do złożoności obliczeniowej

Podstawy analizy danych numerycznych w języku Python

Java Code Signing UŜycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java. wersja 1.2 UNIZETO TECHNOLOGIES SA

"Zapisane w genach, czyli Python a tajemnice naszego genomu."

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

Argumenty wywołania programu, operacje na plikach

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Hbase, Hive i BigSQL

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

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

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Zenoss. Monitorowanie nowoczesnej serwerowni

TEORETYCZNE PODSTAWY INFORMATYKI

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0

Optymalizacja ciągła

Zajęcia nr 5 Algorytmy i wskaźniki. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

SQL SERVER 2012 i nie tylko:

Logiczny model komputera i działanie procesora. Część 1.

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI

Architektura komputerów

PRZETARG 01/EU/2016/SERVERS NA DOSTAWĘ, MONTAŻ I URUCHOMIENIE SERWERÓW, WIRTUALIZATORÓW, MACIERZY I OPROGRAMOWANIA ORAZ WYKUP STAREGO SPRZĘTU

Inżynieria oprogramowania- Grupa dra inż. Leszka Grocholskiego II UWr 2009/2010. Aleksandra Kloc, Adam Grycner, Mateusz Łyczek. Wasza-fota.

Tom II: SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA (SOPZ): Przedmiotem zamówienia jest dostawa sprzętu infrastruktury serwerowej i sieciowej.

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

ZAPYTANIE OFERTOWE. Zamawiający. Przedmiot zapytania ofertowego. Warszawa, dnia r.

Systemy wbudowane. Przykłady kodu Assembler

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu

Opis przedmiotu zamówienia / Formularz Oferty Technicznej (dokument należy złożyć wraz z ofertą)

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska

Modelowanie procesów współbieżnych

która metoda jest najlepsza

Przykładowe sprawozdanie. Jan Pustelnik

Transkrypt:

1 ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH WFAiS UJ, Informatyka Stosowana II stopień studiów

2 Map-Reduce system

Single-node architektura 3

Przykład Googla 4 10 miliardów stron internetowych Średnia wielkość strony = 20kB 10 miliardów * 20 KB = 200 TB Disk read bandwidth = 50MB/sec Czas potrzeby na wczytanie = 4 miliony sec = 46+ dni Jeszcze dłużej aby procesować dane

Architektura klastra 5 W roku 2011 oszacowano że Google ma 1M procesorów

Klaster CPU 6

Wyzwania dla dużych klastrów 7 Node failures Pojedynczy procesor średnio działa 3 lata bez potrzeby resetu (1000 dni) 1000 serverów w klastrze -> raz dziennie reset 1M serwerów w klastrze -> 1000 reset/dzień W jaki sposób zapisywać dane na dysku aby zapewnić stabilność obliczeń mimo konieczności reset poszczególnych procesów? Jak sobie radzić ze stabilnością bardzo długich obliczeń?

Wyzwania dla dużych klastrów 8 Problem transferu danych Network bandwidth = 1Gps Transfer 10 TB zajmuje średnio 1 dzień Pisanie kodu który jest zrównolegniony jest bardzo trudne. Raczej należy to rozwiązać algorytmicznie. Potrzebny prosty model który pozwala ukryć trudności takiego programowania

Map-Reduce 9 Technika która rozwiązuje te problemy: Dane są zapamiętane w kilku kopiach aby ograniczyć transfer oraz zapewnić stabilność dostępności Przenieść obliczenia do danych aby zminimalizować transfer danych Proste model programowania aby ukryć (wykorzystać dostępne narzędzia) trudności

Redundantny system 10 przechowywania danych Rozproszony system plików Goolgle GFS; Hadoop HDFS Typowe zastosowania Duża liczba plików (100s of GB to TB) Dane są rzadko zmieniane Czytanie i updatowanie poprzez dołączenie

Rozproszony system plików 11 Dane przechowywane w małych plikach rozproszonych po wielu maszynach Każdy plik przechowywany w kilku kopiach Zapewnia niezawodność dostępu do danych

Map-Reduce 12 Masz do przeanalizowania ogromny plik tekstowy Cel: policzyć ile razy dane słowo wystepuje w pliku Zastosowanie: Np..przeanalizować logfile web serwera aby znaleść najbardziej popularne URL

Zadanie: ilość wystąpień słowa 13 Przypadek 1: Plik za duży aby go wczytać do pamięci, ale lista <słowo, ilość> się mieści w pamięci. Przypadek 2: Nawet lista <słowo, ilość> nie mieści się w pamięci. Words(doc.txt) sort uniq c Metoda words bierze plik danych i wypisuje słowa jedno na linie W sposób naturalny można zrównoleglić

Map-Reduce 14 words(doc.txt) sort uniq c Map Przeglądaj plik imputowy Wybierz informację która Cię interesuje Pogrupuj wg. Klucza Posortuj i przekaż dalej Reduce Poklastruj, przefiltruj, etc. Wypisz wynik

Map-Reduce: Map 15

Map-Reduce: Map 16

Map-Reduce: Reduce 17

Bardziej formalnie. 18 Input: zbiór par <klucz, wartość> Programista przygotowywuje dwie metody Map(k,v) -> <k, v > Pobiera parę <klucz, wartość> i oddaje zbiór par <klucz, wartość > Map wywołana tylko raz dla każdej pary <klucz, wartość> Reduce(k, <v >*)-> <k, v >* Wszysteki wartość v z ta samą wartością klucza k są zredukowane razem Jest tylko jedna funkcja Reduce dla każdej wartości klucza

Map-Reduce: liczenie słów 19

Map-Reduce: liczenie słów 20

Map-Reduce: host size 21 Przypuśćmy że mamy ogromny zbiór danych sformatowanych w następujący sposób: Każdy record w postaci: (URL, rozmiar, data, ) Zadanie: dla każdego host oceń jego rozmiar. Map: dla każdego recordu wypisz (hostname(url), rozmiar) Reduce: sumuj rozmiar dla każdego host

Map-Reduce: Model języka 22 Policz ile razy każda z sekwencji 5-ciu słów występuje w danym bardzo dużym zbiorze dokumentów Map: Extract ( 5-słów sekwencja, ilość) dla danego dokumentu Reduce: Sumuj ilości dla każdej sekwencji

Map-Reduce: diagram 23

Map-Reduce: zrównoleglanie 24

Map-Reduce: środowisko 25 Środowisko zapewnia: Podział na części danych wejściowych Zarządza procesowaniem programu na klastrze CPU Przeprowadza grupowanie na podstawie klucza Zarządza komunikacja pomiędzy maszynami

Map-Reduce: flow danych 26 Input i output są przechowywane w rozproszonym systemie plików (DFS) System stara się przydzielać procesory jak najbliżej danych Wyniki pośrednie są przechowywane na lokalnych FS nodów wykonujących operacje Map i Reduce. Output jest często inputem do kolejnego kroku Map-Reduce

Implementacja 27 Google MapReduce Używa Google File System Niedostepny poza systemem Googla Hadoop Open-source implementacja Używa HDFS jako stabilnego systemu dyskowego Hive, Pig Dodatkowa funkcjonalność SQL-podobna