Házi Feladat. 3 fős csapatok o Javasolt: legyen benne > másodéves informatikus

Hasonló dokumentumok
Stream Processing. Big Data elemzési módszerek. Kocsis Imre

Stream processing ősz, 10. alkalom Kocsis Imre,

RHadoop. Kocsis Imre Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Mintavételezés, szűrés, kilógó esetek detektálása

Muppet: Gyors adatok MapReduce stílusú feldolgozása. Muppet: MapReduce-Style Processing of Fast Data

Információs Rendszerek Szakirány

Big Data adattárházas szemmel. Arató Bence ügyvezető, BI Consulting

Mintavételezés, szűrés, outlierek detektálása

KÖZELÍTŐ INFERENCIA II.

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

KÖZELÍTŐ INFERENCIA II.

Big Data elemzési módszerek

Big Data: a több adatnál is több

Big Data az adattárházban

Algoritmuselmélet. Hashelés. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

Analitikai megoldások IBM Power és FlashSystem alapokon. Mosolygó Ferenc - Avnet

Adatbányászati szemelvények MapReduce környezetben

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

GENERÁCIÓS ADATBÁZISOK A BIG DATA KÜLÖNBÖZŐ TERÜLETEIN

Marton József BME-TMIT. Adatbázisok VITMAB november 11.

The nontrivial extraction of implicit, previously unknown, and potentially useful information from data.

Searching in an Unsorted Database

Virtuális Obszervatórium. Gombos Gergő

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Weblog elemzés Hadoopon 1/39

Programozás alapjai II. (7. ea) C++

Láncolt listák Témakörök. Lista alapfogalmak

Csima Judit április 9.

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

Struktúra nélküli adatszerkezetek

Takács Gábor mérnök informatikus, okl. mérnöktanár

Dinamikus modellek szerkezete, SDG modellek

InCites bemutató. Tóth Szász Enikő Solution Specialist

The modular mitmót system. DPY kijelző kártya C API

Algoritmuselmélet. Hashelés. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

Túlélés elemzés október 27.

MPP Adattárház Teradata alapokon

Tipikus időbeli internetezői profilok nagyméretű webes naplóállományok alapján

Számítógépes döntéstámogatás. Genetikus algoritmusok

Intelligens Rendszerek Elmélete. Versengéses és önszervező tanulás neurális hálózatokban

Imperatív programozás

Algoritmusok és adatszerkezetek 2.

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

API tervezése mobil környezetbe. gyakorlat

Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák

INDEXSTRUKTÚRÁK III.

Az Oracle Fusion szakértői szemmel

Big Data elemzési módszerek

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Adatbányászati technikák (VISZM185) 2015 tavasz

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

KORSZERŰ BIG DATA FELDOLGOZÓ KERETRENDSZEREK Hermann Gábor MTA-SZTAKI

Szoftverminőségbiztosítás

Oracle Big Data koncepció. Stadler Gellért Vezető tanácsadó Oracle ConsulKng HTE 2015 Konferencia

Gépi tanulás. Hány tanítómintára van szükség? VKH. Pataki Béla (Bolgár Bence)

Correlation & Linear Regression in SPSS

A CAN mint ipari kommunikációs protokoll CAN as industrial communication protocol

Ugrólisták. RSL Insert Example. insert(22) with 3 flips. Runtime?

IBM SPSS Modeler 18.2 Újdonságok

Specifikáció alapú teszttervezési módszerek

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Algoritmuselmélet 2. előadás

Szkriptnyelvek. 1. UNIX shell

Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba

Specifikáció alapú teszttervezési módszerek

Adatbázis-kezelés. Harmadik előadás

Véges állapotú gépek (FSM) tervezése

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

Nagy méretű adathalmazok vizualizációja

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Tudásalapú információ integráció

Hadoop és használata az LPDS cloud-on

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

KÖTELEZŐ PROGRAM, SZÁMONKÉRÉSEK. Részletek

Digitális technika (VIMIAA02) Laboratórium 5

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

Digitális technika (VIMIAA02) Laboratórium 5

Adja meg, hogy ebben az esetben mely handshake üzenetek kerülnek átvitelre, és vázlatosan adja meg azok tartalmát! (8p)

Felvételi tematika INFORMATIKA

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Gyors sikerek adatbányászati módszerekkel

Felhők teljesítményelemzése felhő alapokon

A félév során előkerülő témakörök

Adatbázis rendszerek SQL nyomkövetés

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Teljesítménymodellezés

Általános Időbélyegzési Rend

Algoritmuselmélet. Hashelés. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

Mesterséges neurális hálózatok II. - A felügyelt tanítás paraméterei, gyorsító megoldásai - Versengéses tanulás

Adatbázisok* tulajdonságai

META. a földügyi folyamatok tükrében. Zalaba Piroska főtanácsos Földművelésügyi és Vidékfejlesztési Minisztérium Földügyi és Térinformatikai Főosztály

Adattárház és BigData Szimbiózisa. Baranyi Szabolcs IM Technical Sales

Minták automatikus osztályba sorolása a mintát leíró jellemzők alapján. Típusok: felügyelt és felügyelet nélküli tanuló eljárások

BIG DATA ÉS GÉPI TANULÁS KÖRNYEZET AZ MTA CLOUD-ON KACSUK PÉTER, NAGY ENIKŐ, PINTYE ISTVÁN, HAJNAL ÁKOS, LOVAS RÓBERT

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Véges állapotú gépek (FSM) tervezése

Átírás:

HÁZI FELADAT

Házi Feladat 3 fős csapatok o Javasolt: legyen benne > másodéves informatikus Feladatválasztás listából o Eseti elbírálással: hozott feladat o Kiírások: honlap o Jelentkezés: form Teljesítés o Konzulens minden HF-hez; 2 db konzultációt biztosítunk o 11. héten előzetes specifikáció és feladatpontosítás leadása o 5 perces bemutató-előadás az utolsó héten o PDF/HTML dokumentáció és leadása o Forráskódok, szkriptek leadása (reprodukálhatóság)

A tipikus házi feladat Házi Feladat Kaggle adatkészlet, de nem kaggle feladat Expedia szállásfoglalá s http://www.k aggle.com/c/e xpediapersonalizedsort/data 1 GB térkép alapú vizualizáció kidolgozása a foglalások cél szerinti elemzésére (src,dest) "áramlásokkal" (változó vastagságú nyilak) annotált térkép alapú vizualizáció kidolgozása térkép alapú vizualizáció kidolgozása, hogy az egyes országok lakói mennyit költenek (átlagosan és összesen) utazásra EDA: gyermekek számának hatása az úthosszra

Házi Feladat 3 főre ezek a kreditszámnak megfelelő feladatok Javasolt megközelítés o number crunching : választott technológia o Vizualizáció/EDA (as applicable): R Néhány kakukktojás (pl. klaszterezés)

Házi Feladat Opciók: megközelítés és technológia o MapReduce RHadoop (local backend), Cloudera QuickStart VM + RHadoop, Rhadoop on Amazon EMR, Amazon EMR, IBM BlueMix Hadoop, akármelyik Hadoop-as-a-Service o Streaming (if applicable) IBM BlueMix Streaming Analytics, Amazon Kinesis, o Spark itt is van local backend unsupported! o SQL Eseti jelleggel, pl. HAWQ vagy IBM BlueMix dashdb A lényeg: nem kötjük meg a kezeteket BlueMix hozzáférés folyamatban

ZH 12. héten, az óra időpontjában Ellenőrző kérdések ezen a héten

Stream Processing Big Data elemzési módszerek Kocsis Imre ikocsis@mit.bme.hu 2015.11.04. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Szenzor-adatok Adatfolyam-források o 1 millió szenzor x 10/s x 4B Képek o Szatelitek: n TB/nap Internetes szolgáltatások Hálózati forgalom Tőzsdei adatok

Stream processing (vs at rest Big Data)

1. Many sources 2. With unknown sampling frequency Stream processing

Stream processing Resource requirements 1. Many sources 2. With unknown sampling frequency

Stream processing Once per stream: Local maximum? Resource requirements 1. Many sources 2. With unknown sampling frequency

Once per stream: Local maximum? Stream processing About stream at all times: Report each new maximum 1. Many sources 2. With unknown sampling frequency Resource requirements

Typically sliding window approches Autocorrelation methods o Where do we differ from the predicted value? o Where does the autocorrelation model change?

Feldolgozás: időkorlát! Diszk nem használható Megengedett memóriaigény: korlátos Elemenkénti számítási igény: korlátos Szokásos megoldások: o n-esenkénti (tuple) feldolgozási logika o Csúszóablakos tárolás és feldolgozás o Mintavételezés o Közelítő algoritmusok o WCET-menedzsment: skálázási logikán keresztül Illetve lehet heurisztika/mintavétel-hangolás is, de az nehéz

Forrás: [2], p 76 IBM InfoSphere Streams

LinkedIn Samza Storm Eszközök (néhány!) Ábra forrása: [3] IBM InfoSphere Streams Amazon Kinesis + kapcsolódó projektek

MINTAALKALMAZÁS

USA polgári légiközlekedés késési adatai

OS_contr Experimental environment OS_network CollectD replay nimbus Application superv 1 superv 2 OS_compute Workstation Workstation Host 1 Host 2

Application topology Redis spout <ts, city, delay> Gatherer 1 Gatherer 2 <city, delay> Aggregator Timer spout Sweeper

Workload Baseline workload Start of stress End of stress

CPU utilization

Process latency Relationship with guest resource usage?

Process latency Correlation: 0.890

ALKALMAZÁSI MINTÁK

Forrás: [2], p 80 Alkalmazás-osztályok

Forrás: [2], 3.2 alfejezet Tervezési minták: filter

Tervezési minták: outliers

Tervezési minták: parallel

Tervezési minták: supplemental data

Tervezési minták: consolidation

Tervezési minták: merge

R INTEGRÁCIÓ

IBM InfoSphere Streams: R-project Toolkit RScript operátor az SPL-ben Forrás: [4]

ALGORITMIKAI SZEMELVÉNYEK

Folyam-algoritmikai szemelvények A számítási modellt láttuk Fő korlát: adott tár + WCET, be nem látott adat Néhány tipikus probléma o Mintavételezett kulcstér, kulcsok minden értéke o Elég jó halmazba tartozás-szűrés kicsi leíróval o Count distinct korlátos tárral o Momentumok Részletes tárgyalás: [1] 4. fejezete

Kitérő: hash-függvények Cél: U nem rendezett univerzum elemein (átlagosan) gyors keresés, beszúrás, törlés, módosítás Eszköz: h hash függvény, ami rekordhoz logikai címet rendel o A címtartomány jellemzően sokkal kisebb, mint U o Ütközések: K K h(k) h(k ) o Vödrös hash-elés, http://en.wikipedia.org/wiki/hash_function

Hash-függvények: jellemző követelmények Alkalmazási területenként eltérőek! o Kriptográfia indexelés adattároláshoz Néhány tipikus követelmény o Determinizmus o Uniformitás o Meghatározott értékkészlet o Folytonosság o Irreverzibilitás ( egyirányú függvény) http://en.wikipedia.org/wiki/list_of_hash_functions

Mintavételezés Modell: o n komponensű elemek o ezek egy része key (pl. user,query,time) o a kulcsok felett mintavételezünk Probléma o Egy kulcsnak vagy minden értéke megjelenjen, vagy egy sem Megoldás o a/b méretű mintához a (kulcstér)méretű folyamon a kulcsot b vödörbe hasheljük o A hash-függvény valójában konzisztens random-generátor : a < b esetén tárolunk o Nem véges minta kisebb módosítás Példa: a felhasználók mekkora része ismétel meg lekérdezéseket a felhasználók 1/10 mintáján

Bloom filterek http://en.wikipedia.org/wiki/bloom_filter

Szűrés: Bloom filterek Bloom filter: o n bites vektor, kezdetben azonosan 0 o Hash függvények kollekciója: h 1, h 2, h k. Mindegyik kulcsokat rendel n vödörhöz (a vektor elemeinek felelnek meg). o S: kulcshalmaz ( S = m) Cél: minden K S átengedése, a legtöbb K S kiszűrése tárhely-hatékonyan Példa: spam email-cím alapján

Szűrés: Bloom filterek Indulás: minden j bit-et 1-re állítunk, amire van h i és K S, hogy h i K = j Kulcs tesztelése: minden függvény eredménye 1 értékű bitbe visz-e o Igen: továbbengedés (lehet hogy S-ben) o Nem: dobás (nem lehet S-ben) Kaszkádolható! False positive valószínűség: lásd könyv (darts-modell)

Bloom filterek: néhány tétel Hibás pozitív valószínűség (uniform hashekkel): o (1 e km/n ) k Optimális hashfüggvény-szám o k = n m ln2

Count-Distinct : a Flajolet-Martin algoritmus N.B. nem-algoritmikai megoldások is működhetnek Legyen egy bit-sztring hash-függvénynek több kimenete, mint az univerzum elemei o Pl. 64 bit elég az URL-ekhez Ezekből sokat alkalmazunk h a a folyam-elemre r 0-ban végződik (tail length). Legyen ezek maximuma R. Count-Distinct közelítés: 2 R o Ha m 2 r, akkor szinte biztos van legalább r hosszú farok o Ha m 2 r, akkor szinte biztos nincs legalább r hosszú farok Sok hash függvény, kis csoportok (legalább c log 2 m) átlaga, ezek mediánja

Count-Distinct : a Flajolet-Martin algoritmus Intuitívan: o Egy a ra h a legalább r 0-ban végződik: 2 r val. (Uniform hash azért nem árt.) o m különböző elem, egyikükre sem legalább r hosszú a tail: 1 2 r m m2 r r 2r o Átírható: 1 2 o Elég nagy r-re a belső tag 1 e o Nincs elem legalább r hosszú tail-el: e m2 r val. o m jóval nagyobb/kisebb mint 2 r : biztos van hosszabb, biztos nincs kisebb o 2 R nem valószínű, hogy túl pontatlan lenne

Rendezett univerzum Momentumok m i : i-ik elem előfordulási száma Stream k-adrendű momentuma (k-ik momentum): i(m i ) k Néhány momentum o 0: count distinct o 1: stream hossza o 2: előfordulások négyzetösszege surprise number: eloszlás egyenetlensége V.ö. I ω n = log(p(ω n ))

Az Alon-Matias-Szegedy algoritmus Legyen a stream n hosszú, Nem tudunk minden m i -t tárolni, Második momentum közelítése, Korlátos tárhellyel (több jobb közelítés) Minden X változónkhoz tároljuk: o Az univerzum egy elemét: X. element o Egy X. value egészet. Inicializálás: uniform, véletlenszerű választással 1 és n között kisorsolt pozíció elemére

Az Alon-Matias-Szegedy algoritmus Minden X-ből lehet becsülni: n (2 X. value 1) Legyen e i a stream i-ik eleme; legyen c(i) ezen elem előfordulási száma az i-ik pozíciótól E n(2 X. value 1) = 1 n n i=1 n 2 c i 1 = n i=1 (2c i 1)

Az Alon-Matias-Szegedy algoritmus A szumma átrendezése az elemekre: n i=1 2c i 1 = a 1 + 3 + 5 + + 2(m a 1) Indukcióval: 1 + 3 + 5 + + 2m a 1 = m a 2 Így: E 2 X. value + 1 = a m a 2

Az Alon-Matias-Szegedy algoritmus k-ik momentumra: v = X. value n (v k v 1 k ) Kiterjesztés nem véges stream-ekre: o Mindig s változót tárolunk, inicializáció o Minden új elemet változónak s n+1 o Ha választjuk, egy régit eldobunk valószínűséggel választunk

Hivatkozások [1] Rajaraman, A., & Ullman, J. D. (2011). Mining of Massive Datasets. Cambridge: Cambridge University Press. doi:10.1017/cbo9781139058452 [2] International Technical Support Organization. IBM InfoSphere Streams: Harnessing Data in Motion. September 2010. http://www.redbooks.ibm.com/abstracts/sg247865.h tml [3] http://hortonworks.com/blog/hdp-2-0- community-preview-and-launch-of-hortonworkscertification-program-for-apache-hadoop-yarn/ [4] http://www.ibm.com/developerworks/library/bdstreamsrtoolkit/