Gráf-adatbázis építése twitter adatokból

Slides:



Advertisements
Hasonló előadás
A hálózat működése 1. A DHCP és az APIPA
Advertisements

Gyakorlati vizsga és szervezésének kérdései mindkét szinten
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
06M29 adatszolgáltatás elkészítés lépései
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
© Kozsik Tamás Adatbáziskezelés •Relációs adatbáziskezelők •Noha a Java objektum-elvű, egyelőre nem az objektum-elvű adatbáziskezelőket támogatja.
Skype telepítése és használata
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Adatbázis alapú rendszerek 1. Gyakorlat Követelmények / SQL.
Gazdaháló Konferencia, augusztus 30. GPS a kézben – hogyan lesz a területmérésből támogatási kérelem? Markócs József Kereskedelmi igazgató.
Készítette: Kotymán Arnold PS ÁMK Társulás Cserkeszőlő
Követelmények Szoftver- környezet SQL ismétlés ADATBÁZIS ALAPÚ RENDSZEREK.
Előadássorozat a Független Pedagógiai Intézetben fupi.hu Az internet: miért, hogyan? 6 / 10. Csada Péter Csada Bt. cspc.hu.
Programozás alapjai A programozás azt a folyamatot jelenti, melynek során a feladatot a számítógép számára érthető formában írjuk le. C++, Delphi, Java,
Virtuális Obszervatórium Korszerű adatbázisok 2014.
Hadoop Gyakorlat 1 Korszerű adatbázisok Parancsok Listázás – hadoop fs –ls Kiírja egy fájl tartalmát – hadoop fs –cat Betöltés – hadoop fs –put.
Dijkstra algoritmus Baranyás Bence. Feladat Adott egy G=(V,E) élsúlyozott, irányított vagy irányítás nélküli, negatív élsúlyokat nem tartalmazó, véges.
Prototípuskészítés Verilog nyelven Screen Saver Készítette: Mészáros Péter.
Ember László XUBUNTU Linux (ami majdnem UBUNTU) Ötödik nekifutás 192 MB RAM és 3 GB HDD erőforrásokkal.
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
Előadó: Kárpáti Péter Üzleti folyamatvezérlés nagyvállalati környezetben (BizTalk Server 2004, Office InfoPath 2003 és Windows.
Átállás.
{ Közösségi spammelés felismerése és eliminálása Kivonat – Pletser József.
Hadoop Gyakorlat 2 Korszerű adatbázisok Parancsok Listázás – hadoop fs –ls Kiírja egy fájl tartalmát – hadoop fs –cat Betöltés – hadoop fs –put.
Google earth és a térinformatika kapcsolata
WEB Technológiák ISAPI ME Általános Informatikai Tsz. dr. Kovács László.
Hálózati Bombermen Belicza András Konzulens: Rajacsics Tamás BME-AAIT.
Információ és kommunikáció Szilágyi András. Követelmények A cd-n az anyag a következő részeket fedte le: Kliensprogramok, letöltés-vezérlők Kliensprogramok,
Dijkstra-algoritmus ismertetése
Az elektronikus levelezés a számítógép-hálózatok klasszikus szolgáltatása, az Internet alkalmazásának egyik legnépszerűbb formája. Szövegen kívül lehetőség.
Az Interneten az állományok mozgatására leggyakrabban az FTP program használatos. Az FTP felhasználók általában az alábbi funkciókkal rendelkeznek: kapcsolódás.
[fre ] Az új [fre ] Több mint levelezés, a saját kommunikáció internetes közműve:  kommunikáció a képernyőn: levelezés, üzenetküldés.
IWiW – második hullám Simó György T-Online Magyarország Zrt, vezérigazgató.
Előadóról Név: Zumpf Tamás
Készítette: Rummel Szabolcs Elérhetőség:
Support.ebsco.com Saját EBSCOhost oktatóprogram Oktatóprogram.
APEX BMF, II. félév.
Kommunikációt segítő programok a hálózaton
Football Club webes arculata, azaz egy hivatalos klub honlapjának felépítése Készítette: Kiss László Balázs.
Az Internet alkalmazásának lehetőségei Áttekintés.
Supervizor By Potter’s team SWENG 1Szarka Gábor & Tóth Gergely Béla.
Webprogramozó tanfolyam
Az NVU webszerkesztő program
Hálózat menedzsment Óravázlat Készítette: Toldi Miklós.
2012.FEBRUÁR FEBRUÁR 20-IG!!!. Árajánlat kérése, nemzetközi közösségi weboldal kivitelezésére: Funkciók: - Tag/1-1 kép feltöltése - Min. adatok.
Webprogramozó tanfolyam
WEBSTAR CSOPORT WC S ADATBÁZIS VERZIÓKÖVETÉSE: LIQUIBASE Marics Tamás június 20.
Alapfogalmak, módszerek, szoftverek
Kördokumentumok 1..
Kapcsolatok ellenőrzése
Rövid ismertető mikrofonnal történő
NIIFI Networkshop március 31. – április 2.PTE Egyetemi Könyvtár Adatbázisba kerülnek a magyar szakfolyóiratok cikkeinek hivatkozásai Szalai László,
Kártyás fizetés beállítása Lépj be a saját üzleti oldaladra valami.worldventures.biz.
Az Office 2007 új grafikus felülete
Gazdasági informatikus - Szövegszerkesztés 1 A munka véglegesítése, nyomtatás.
DNS. Az interneten használt osztott név adatbázis, a DNS (Domain Name Service) folyton használatos: –minden web lap letöltésnél, –levél közvetítésnél.
User Profiles Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont.
Miért érdemes egy cégvezetőnek regisztrálni a …………… közösségi oldalra? Hogyan használjuk ki hatékonyan a jelenlétet a világ legnagyobb szakmai hálózatán?
MICA képeken. MICA 1. kísérlet Vettünk 6 db 50x50 pixeles képet. Ezeket 1-1 kétdimenziós sűrűségfügvénynek (2D-hisztogram) fogjuk fel, és importance sampling-gel.
Keresés fajtái Matching (szabadszavas)
Gráfadatbázisok Rácz Gábor.
Hadoop Gyakorlat 1 Korszerű adatbázisok.
Nyilvános kulcsú titkosítás Digitális aláírás Üzenet pecsétek.
1 A Twitter és a Facebook API Szolgáltatások és Alkalmazások Ujvárosi Szabolcs 2010.
Gyakorlat. postafiók készítése: 1. Nyissuk meg a oldalt! 2. Válasszuk a Fiók létrehozása gombot! 3. Töltsük ki az űrlapot! 4. A nyitólap.
Personalization and privacy: a survey of privacy risks and remedies in personalization-based systems Eran Toch · Yang Wang · Lorrie Faith Cranor.
PHP függvények MySQL adatbázisok kezelésére
Az Endnote bibliográfia adatbázis-kezelő szoftver alapvető használata Skultéti Attila
Az elektronikus levelezés a számítógép-hálózatok klasszikus szolgáltatása, az Internet alkalmazásának egyik legnépszerűbb formája. Szövegen kívül lehetőség.
VPN kapcsolat a Központi Könyvtár honlapján
VPN kapcsolat a Központi Könyvtár honlapján
Előadás másolata:

Gráf-adatbázis építése twitter adatokból Hanyecz Tamás, Dobos László

Twitter üzenetek Tweet Kb. max. 160 karakter hosszú szöveg A publikus tweeteket bárki olvashatja Fel lehet iratkozni egyes emberek üzeneteire A teljes adatfolyam mintavételezett változata valós időben letölthető (stream)

Tweetek tartalma Üzenet Küldő felhasználó adatai ID, screen_name, lang Description UTC offset, GPS koordináták Profil beállítások Ha válaszüzenet, akkor kinek mire válasz Retweet: továbbküldött üzenet Az eredeti üzenet összes paramétere is Nagyon régi üzenetek is előbukkannak

Tweetek tartalma 2 Az üzenet tartalmának előre parse-olt részei: Linkek képekre, videókra Említett felhasználók (@username) Hashtag-ek (#valami) Place információk Ha a tweetelő nem személy, hanem cég, bolt stb. Részletes geográfiai adatok (location polygon)

Felhasználói profil adatai Név Regisztráció időpontja Időzóna GPS koordináták (ritkán) URL Összesen hány Tweet Követés Követő UI beállítások (színek, profilkép)

Twitter API dev.twitter.com API funkciók Twitter integrálása saját oldalba (follow gomb) Adott felhasználók üzeneteinek követése Összes üzenet adatfolyamának követése (random mintavételezett) Adott felhasználó által követett felhasználók lekérdezése

Twitter adatfolyamok Filter Sample (ingyenes) megadhatók feltételek Sample (ingyenes) Véletlenszerűen mintavételezett adatfolyam Az összes üzenet kb. 1%-a Garden hose: ≈ 10% (speciális account kell) Firehose: teljes adatfolyam (fizetős)

Adatfolyam statisztika Kb. max. 10 GB / nap nyers adat (JSON) Napi 4-4,5 M üzenet Napi 3,2 M egyedi felhasználóról jön adat (+ 0,5 M retweetelt felhasználó, de lehet átfedés) Adatbázisba töltve: kb. 6 GB / nap

Eddigi gyűjtések ID Mettől Meddig Napok Hol Retweet 1 Feb. 1. Már. 20. 50 Complex Nem 2 Máj. 31. 70 Jún. 1. Jún. 30 - kimaradt 3 Júl. 1. Aug. 18. 4 Fut 35 5 Blackhole Igen

Twitter Stream adatok egy lehetséges alkalmazása

Twitter Toolkit Programok az adatok feldolgozásához TwitterReader Adatfolyam olvasása és lementése Kezeli a törékeny hálózatot Időnként új fájlt kezd (batch) TwitterLoader Batch-ek betöltése MSSQL adatbázisba Összefésülés a már meglevő adatokkal

Adatok adatbázisba töltése

Adatfolyam adatbázisba töltése Chunk Stream feldarabolása napi fájlokra TwitterToolkit Reader automatikusan Prepare Bulk insert fájl előállítása minden chunkra Load Chunkok betöltése a LoaderDB-be Merge LoaderDB adatainek összefésülése a meglevő adatokkal CleanUp LoaderDB kitakarítása következő batch-hez

Adatbázis séma

Nézetek

Nyitott kérdések A user status merge lassú. Kell a user összes adata a user táblában, vagy elegendő a user update tábla? Akarjuk-e tárolni a többi tweetből parse-olt adatot? url-ek, képek, videók

Twitter kapcsolatok felderítése

… … A hálózat felderítése … … Algoritmus Kezdeti csúcs kiválasztása és a listában tevése Ciklus: Amíg a mélység <= Max: Csúcs kiválasztása a listából Csúcs szomszédjainak felderítése Szomszédok tárolása egy listában Ciklus Vége … … … … Listába került pontok 1 + N(0,1) + N(1,1) + N(1,2) +… +N(1,n1) + N(2,1) + N(2,2) + … + N(2,n2) + ….

Felderítés alapelve Központi gép: - Ezen tároljuk az adatokat Ezeken a gépeken futtatjuk a méréseket és töltjük fel az adatokat a központi gépre

Felderítés kevés (<30) gép esetén 1. Lépés: Végre hajtunk 150 lekérdezést és az eredményt berjuk az éllistába, a felderített csúcsokat pedig egy fájlba beírjuk 5. Lépés: Kiválasztunk 150 fel nem derített csúcsot, beírjuk egy fájlba és feltöltjük az 2. számú gépre 2. Lépés: Kiválasztunk 150 fel nem derített csúcsot, beírjuk egy fájlba és feltöltjük az 1. számú gépre 7. Lépés: és így tovább, amíg van gép, aztán újra a 2. ponttól vagy az 1. -től 3. Lépés: Végre hajtunk 150 lekérdezést az 1. számú gép és az eredményt berjuk az éllistába, a felderített csúcsokat pedig egy fájlba beírjuk 5. Lépés: Végre hajtunk 150 lekérdezést a 2. számú gép és az eredményt berjuk az éllistába, a felderített csúcsokat pedig egy fájlba beírjuk 4. Lépés: A fájlokat feltöltjük a központi gépre 6. Lépés: A fájlokat feltöltjük a központi gépre

Felderítés sok (>30) gép esetén Szükséges hozzá adatbázis Minden csúcsnak van egy adatbázisbeli azonosítója: 1,2,3,… A gépek között kiosztjuk, hogy milyen azonosítójú csúcsokat kérdezzenek le Pl.: Tfh. Van n. db gép és N csúcs k. gép lekérdezi a: N mod n ≡ k -1 számú fel nem derített csúcsot

Felderítés sok (>30) gép esetén Feltétel: Adatbázis 2. lépes: A gépeken elindítjuk párhuzamosan a lekérdezéseket 1. lépés: Feltöltjük az adatbázis, hogy legyen benne legalább 150 fel nem derített csúcs (1-2 lekérdezés elég) mod N ≡ 0 mod N ≡ 1 mod N ≡ N-1

Twitter kapcsolatok felderítése Egy adott felhasználó kit követ őt ki követi Fel szeretnénk deríteni a gráfot (irányított élek) Akadályok Egy kérés egy felhasználó ismerőseit adja vissza Egy válasz max. 5000 ismerőst ad vissza A parancs egy IP-ről óránként max. 150-szer Gépenként napi 3600 lekérdezés Max. 18 M irányított gráf él

Eredmények Programok: C# nyelven közvetlen adatbázisba tölt be Python nyelven, ami fájlokba tölt nem adatbázisba Kb.: 100 GB-nyi elemzhető adat – ami újra bővülni fog Planetlab újra használható

Tervek Twitter Stream: Twitter Hálózat: Térképek, “Filmek” készítése Üzenetek követése Kik azok aki a legtöbb üzenetet küldik? Kik azok akik a legnagyobb hatással vannak az üzenet küldésekre? ??? Twitter Hálózat: Az ismertségi háló felderítése friends és followers irányba. A gráf elemzése: legrövidebb utak, fokszám eloszlás, szinezhetőség, Hálózati dinamika: Hogyan változik az ismerettségi háló? Stream + Hálózat: Felhasználók a Föld felszínén?

Köszönöm a figyelmet!