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

Podobne dokumenty
Architektura rozproszonych magazynów danych

Zaawansowany kurs języka Python

Map Reduce Wprowadzenie do Apache Hadoop

a) ile wynosiła populacja najbardziej i najmniej ludnego z województw (oraz jakie były ich nazwy)

HADOOP Dariusz Ż bik

Hadoop i Spark. Mariusz Rafało

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Map Reduce Proste zliczanie słów i zapytania SQL

Wprowadzenie do Apache Spark. Jakub Toczek

Apache Hadoop. Wolna implementacja GFS, MapReduce oraz Big Table. Michał Jaszczyk

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

Bazy danych. dr inż. Arkadiusz Mirakowski

Wprowadzenie do Hurtowni Danych

Python. Wprowadzenie. Jolanta Bachan

Apache Hadoop framework do pisania aplikacji rozproszonych

Hadoop - wprowadzenie. Łukasz Król

Searching for SNPs with cloud computing

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

Zagadnienia. Konstrukcja bibliotek mysql i mysqli w PHP. Dynamiczne generowanie stron. Połączenie, zapytanie i sesja

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

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

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

Kurs rozszerzony języka Python

Zaawansowany kurs języka Python

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

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

SQL Server 2016 w świecie Big Data

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

(kod ten służy wprowadzeniu definicji mediany, nie jest to optymalna ani nawet szczególnie dobra implementacja obliczania mediany w praktyce!

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

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

Podstawy programowania w Pythonie

Informacje organizacyjne:

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

LIGHTTPD szybkość i prostota. Robert Partyka

BigData PILAB S.A./Krystian / Wstęp. / Co to jest BigData? / Co to jest Hadoop?

Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie

Pobieranie argumentów wiersza polecenia

EGZAMIN MATURALNY OD ROKU SZKOLNEGO

(Apache) CouchDB. Krzysztof Kulewski 2008

NoSQL Not Only SQL, CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Igor Wojnicki

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty

Wprowadzenie do psql i SQL. Język komend psql. Podstawy instrukcji SELECT

znaleźć wszystkie rekordy dotyczące adresów przy ulicy Hożej (dowolnego miasta!);


JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ ]

CouchDB. Michał Nowikowski

TECHNOLOGIE BIG DATA A BEZPIECZEŃSTWO INFORMATYCZNE WE KNOW YOU KNOW. silmine.com







JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

NoSQL: Riak. dr inż. Sebastian Ernst Katedra Informatyki Stosowanej

Zaawansowane aplikacje WWW - laboratorium

Jak zatrudnić słonie do replikacji baz PostgreSQL

Szkolenie autoryzowane. MS 6419 Konfiguracja, zarządzanie i utrzymanie systemów Windows Server 2008

Kurs języka Python Wykład 6. Pliki tekstowe Pliki rekordów Pliki CSV Strumienie

Język Python. Język Python 1/35

Programowanie i projektowanie obiektowe

NoSQL & relax with CouchDB

R i ekosystem Hadoop

Internetowe bazy danych

Komunikacja Człowiek-Komputer

Definicja. Not Only SQL

Aby uzyskać zaliczenie w pierwszym terminie (do 30 stycznia 2018) rozliczyć trzeba co najmniej 8 projektów, po 4 z każdej z części: C++ oraz Python.

Python. Skąd taka nazwa? Kurs systemu UNIX 1

PERL zarządzanie złożonością. Pavel Pachkouski

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

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

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO

HTTP, CGI, Perl. HTTP HyperText Transfer Protocol. CGI Common Gateway Interface. Perl Practical Extraction and Report Language

EMC ViPR Pamięć masowa definiowana programowo

Multimedialne bazy danych - laboratorium

Wdrożenie skalowalnego systemu plików GlusterFS w serwisach Gratka.pl. Łukasz Jagiełło l.jagiello@gratka-technologie.pl

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Zaawansowany kurs języka Python

Wątki i komunikacja między nimi w języku Python

akademia androida Składowanie danych część VI

41. Zmienne lokalne muszą mieć nazwę, którą poprzedza (maksymalnie 128 znaków) oraz typ (każdy z wyjątkiem: text, ntext oraz image)

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sprzeg podstawowy do baz danych w PHP Mateusz Sowa, 2007

Programowanie funkcyjne w Pythonie

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

Podstawy informatyki

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki

Language INtegrated Query (LINQ)

Zarządzanie wieloserwerowym środowiskiem SAS z wykorzystaniem SAS Grid Managera. Katarzyna Wyszomierska

Letnia Akademia SUSE. Implementacja nowych rozwiązań open source wszystko, co musisz wiedzieć!

SPECYFIKACJA FUNKCJONALNA OPROGRAMOWANIA 11 marca 2014 XLZEBRAPRINTER

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

Zadania do wykonania na laboratorium

Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak

Bazy Danych i Usługi Sieciowe

Jerzy Nawrocki, Wprowadzenie do informatyki

Krok po kroku... (czyli jak stworzyć i wydrukować krzyżówkę)

Transkrypt:

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

Hadoop w akcji: analiza logów rkadiusz Osiński arkadiusz.osinski@allegro.pl PLNOG#10 Hadoop w akcji: analiza logów 2

genda 1. Hadoop 2. HDFS 3. YRN 4. Map & Reduce 5. Hive 6. Hadoop Streaming PLNOG#10 Hadoop w akcji: analiza logów 3

Czym Hadoop jest? - Rozproszony system przetwarzania informacji - Połączenie systemu plików oraz frameworka do wykonywania zadań PLNOG#10 Hadoop w akcji: analiza logów 4

HDFS - Hadoop Distributed File System - Możliwe uzyskanie środowiska H PLNOG#10 Hadoop w akcji: analiza logów 5

HDFS - Hadoop Distributed File System - Możliwe uzyskanie środowiska H - Rack wareness - Łatwe skalowanie + Commodity hardware PLNOG#10 Hadoop w akcji: analiza logów 6

HDFS - Hadoop Distributed File System - Możliwe uzyskanie środowiska H - Rack wareness - Łatwe skalowanie + Commodity hardware - Nie wymaga RID - Replikacja zasobów PLNOG#10 Hadoop w akcji: analiza logów 7

HDFS - Hadoop Distributed File System - Możliwe uzyskanie środowiska H - Rack wareness - Łatwe skalowanie + Commodity hardware - Nie wymaga RID - Replikacja zasobów - Kontrola dostępu do zasobów - Łatwy dostęp: CLI, HTTP, FUSE PLNOG#10 Hadoop w akcji: analiza logów 8

H HDFS Name Node Name Node ZooKeeper Journal Node Data Node PLNOG#10 Hadoop w akcji: analiza logów 9

HDFS B Rack 1 Replikacja: 3 Rack 2 PLNOG#10 Hadoop w akcji: analiza logów 10

HDFS B Rack 1 Replikacja: 3 Rack 2 PLNOG#10 Hadoop w akcji: analiza logów 11

HDFS B Rack 1 Replikacja: 3 Rack 2 PLNOG#10 Hadoop w akcji: analiza logów 12

HDFS B Rack 1 Replikacja: 3 Rack 2 PLNOG#10 Hadoop w akcji: analiza logów 13

HDFS B B Rack 1 Replikacja: 3 Rack 2 PLNOG#10 Hadoop w akcji: analiza logów 14

HDFS B B Rack 1 Replikacja: 3 B Rack 2 PLNOG#10 Hadoop w akcji: analiza logów 15

HDFS B B B Rack 1 Replikacja: 3 B Rack 2 PLNOG#10 Hadoop w akcji: analiza logów 16

YRN - Yet nother Resource Negotiator - Framework do zarządzania zasobami PLNOG#10 Hadoop w akcji: analiza logów 17

YRN - Yet nother Resource Negotiator - Framework do zarządzania zasobami - Umożliwia uruchamianie zadań MapReduce (lecz nie tylko) - Zadania uruchamiane z uprawnieniami właściciela PLNOG#10 Hadoop w akcji: analiza logów 18

YRN - Yet nother Resource Negotiator - Framework do zarządzania zasobami - Umożliwia uruchamianie zadań MapReduce (lecz nie tylko) - Zadania uruchamiane z uprawnieniami właściciela - Kolejki zadań + kontrola dostępu - Wydzielanie zasobów dla kolejek (RM) PLNOG#10 Hadoop w akcji: analiza logów 19

YRN - Yet nother Resource Negotiator - Framework do zarządzania zasobami - Umożliwia uruchamianie zadań MapReduce (lecz nie tylko) - Zadania uruchamiane z uprawnieniami właściciela - Kolejki zadań + kontrola dostępu - Wydzielanie zasobów dla kolejek (RM) - SPOF - ResourceManager - Wersja alpha PLNOG#10 Hadoop w akcji: analiza logów 20

Map PLNOG Polish Network Operators Group PLNOG Map Key->Value PLNOG -> 1 Polish -> 1 Network -> 1 Operators -> 1 Group -> 1 PLNOG ->1 PLNOG#10 Hadoop w akcji: analiza logów 21

Reduce Group -> 1 Reduce Network -> 1 Operators -> 1 PLNOG -> 1 PLNOG -> 1 Reduce Reduce Reduce Group -> 1 Network -> 1 Operators -> 1 PLNOG -> 2 Polish -> 1 Polish -> 1 Reduce PLNOG#10 Hadoop w akcji: analiza logów 22

Hive hive (logs)> desc apachelog; col_name data_type Vhost string, servername string, httpson string, xrealip string, Clientip string, userident string, incomingdate string, Incomingtime string, timezone string, executiontime int, outputsize int, Outputsizewheader int, outputcode int, method string, source_host string, url string, querystring string, Referer string, useragent string, v_date string v_hour string PLNOG#10 Hadoop w akcji: analiza logów 23

Hive hive (logs)> show partitions apachelog; (... ) v_date=2013-02-24/v_hour=22 v_date=2013-02-24/v_hour=23 v_date=2013-02-25/v_hour=00 v_date=2013-02-25/v_hour=01 v_date=2013-02-25/v_hour=02 v_date=2013-02-25/v_hour=03 v_date=2013-02-25/v_hour=04 (... ) PLNOG#10 Hadoop w akcji: analiza logów 24

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

Hive hive (logs)> select count(*) from apachelog where v_date= 2013-02-26 ; (... ) hive (logs)> select source_host, sum(executiontime)/count(*) as avg_time from apachelog where v_date= 2013-02-26 group by source_host; (... ) hive (logs)> select xrealip,url,query from apachelog where v_date= 2013-02-26 and outputcode >= 500; PLNOG#10 Hadoop w akcji: analiza logów 26

Perl + Geolokalizacja/ Map while(<>) { chomp($_); my @fields = split(/\ /,$_); my ($country_code, (..),$city, (..) ) = $gi->get_city_record($fields[3]); $country_code = "NN" unless $country_code; $city = "NN" unless $city; } print $fields[0]." ".$country_code." ".$city."\t"."1\n"; PLNOG#10 Hadoop w akcji: analiza logów 27

Perl + Geolokalizacja / Reduce while (<>) { my @line = split(/\t/,$_); if ( $key ne $line[0] ) { print $key." ".$counter."\n"; $counter=1; $key = $line[0]; } else { $counter++; }; } print $key." ".$counter."\n"; PLNOG#10 Hadoop w akcji: analiza logów 28

Perl + Geolokalizacja $ hadoop jar /usr/lib/hadoop-mapreduce/hadoop-streaming.jar -Dmapred.job.queue.name=q_projects -files./geo_ip_map.pl,./geo_ip_reduce.pl,./geolitecity.dat,./geopp.pm -mapper geo_ip_map.pl -reducer geo_ip_reduce.pl -input /lokalizacja/w/hdfs/logi -output /lokalizacja/w/hdfs/rezultat PLNOG#10 Hadoop w akcji: analiza logów 29

Perl + Geolokalizacja $ hdfs dfs ls /lokalizacja/w/hdfs/rezultat -rw-r--r-- 3 user group 0 /_SUCCESS -rw-r--r-- 3 user group 297134 /part-00000 $ hdfs dfs cat /lokalizacja/w/hdfs/rezultat/part-00000 (... ) Serwis.pl PL Poznan 4729 Serwis_kolejny.pl PL Torun 2652 Serwis_kolejny.pl PL Gdansk 373 (... ) PLNOG#10 Hadoop w akcji: analiza logów 30

Python import sys badwords = ['zakazane','slowa'] for line in sys.stdin: line = line.strip() for word in badwords: if word in line.lower(): print word+"\t"+line PLNOG#10 Hadoop w akcji: analiza logów 31

Python $ hadoop jar /usr/lib/hadoop-mapreduce/hadoop-streaming.jar -Dmapred.job.queue.name=q_projects -files./scan_map.py -mapper scan_map.py -input /lokalizacja/w/hdfs/logi -output /lokalizacja/w/hdfs/rezultat PLNOG#10 Hadoop w akcji: analiza logów 32

Dziękuję! Q & PLNOG#10 Hadoop w akcji: analiza logów 33