Sziasztok,
Amint a tárgy is mutatja, szeretném elsajátítani a big data alapjait, kicsit gyakorolni benne. Adattárház, BI témakörben mondhatni otthon vagyok, MS SQL Serverrel és MySQL-lel foglalkoztam eddig, de sokminden más is érdekel. Ha volna bárki, aki tud nekem ebben segíteni, szívesen venném a tanácsát. Időm nem sok van rá, de mindenképp szeretnék képben lenni ezzel a témával is és bővíteni a tudásomat. Eddig eljutottam odáig, hogy letöltöttem egy Hadoop VMWare image-et, de jobban érdekelne, hogy hogyan tudok 0-ról felhúzni környezetet. Halvány sejtésem van a topickal kapcsolatban, egyelőre Pinal Dave blogját próbálom végigolvasni ezzel kapcsolatban. A leírást update-elem, ha változik valami fontosabb tény.
Előre is köszönöm.
Update:
Pinal Dave blogbejegyzései: http://blog.sqlauthority.com/best_top_sql_server_blog_all_post/
- 9515 megtekintés
Hozzászólások
hadoop környezet kapcsán, ha nem ismered a java-t, kicsit nehéz helyzetben vagy, de semmi sem lehetetlen.
Vannak olyan eszközök (pig/hive) amik egyszerű nyelvkészletből generálnak kész java mapreduce job-ot amit aztán a hadoop környezeten futtatni tudsz.
A nulláról való felhuzás szívás és teljesen felesleges, anélkül is van elég szívás egy jó hadoop környezet beállításával. Én személy szerint a cloudera cdh4-et javaslom (google segít). Kapsz egy repository-t, ahonnan apt-get -el szépen tudsz telepíteni magadnak (szóval azt tanácsolom hogy csinálj 3 darab szűz debian VM-et, rakd fel ezt a cloudera repository-t és állítsd be 1 master / 2 slave módban).
Ha a telepítés megvan és működik is rendesen, jöhet az adatfeldolgozás része (vagy natív java, vagy a már fent említett hive/pig/stb. megoldással).
Csak hogy a felesleges szívásokat elkerüld, egy két hasznos információk a hadoop részeiről.
Az összes verzióban megtalálhatóak ezek:
hadoop-namenode: Ez a master ami a hdfs filerendszer számára biztosítja az adatok megfelelő elhelyezését és a replikációt
hadoop-datanode: A hdfs filerendszer "lelke", ezt az összes slave node-ra fel kell rakni, lényegében ez kezeli az adatokat
hadoop-mapreduce: Ez ilyen félhibrid daemon, library egybegyúrva. Ő felel a feldolgozási folyamatokért, illetve tartalmazza a szükséges illesztéseket
hadoop 0.2.*, 1.x* esetén:
jobtracker: A master szerver része, ő fogadja a kliensektől érkező feladatokat (Jobs) majd szétbontja és szétosztja a slave tagjai között
tasktracker: A slave-ek része, a jobtracker-el tartja a kapcsolatot, fogadja és futtatja a részfeladatokat.
hadoop 1.x* és 2.x* esetén:
Kibontották a hadoop alol a jobtracker-t és a tasktracker-t, majd elnevezték yarn-nak. A feladata nem változott, viszont sokkal hatékonyabban tudod managel-ni a hadoop clusteredet (létrehozhatsz rack-eket illetve container-eket, amiknek külön külön oszthatsz feladatot)
a jobtracker utódja a yarn-resourcemanager
a tasktracker utódja pedig a yarn-nodemanager lett
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
Köszi, ezen elcsámcsogok egy ideig. Először meg kellene oldanom, hogy VM-eket tudjak indítani, de az más téma :)
-----------
"Pontban 0:00-kor nem nagyon szoktak véletlen dolgok történni"
- A hozzászóláshoz be kell jelentkezni
ez erdekes tema manapsag
--
"A politikat, gazdasagot es a tobbi felsorolt faszsagot leszarom, amig engem nem erint (nem erint)" (bviktor)
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
Ha nem kifejezetten az infrastruktúrája érdekel a dolognak, akkor javaslom a HDInsight-ot kipróbálni Azure-ön.
Step-by-step guide: http://www.windowsazure.com/en-us/documentation/articles/hdinsight-get-…
Kapcsolódó tréningek a Microsoft Virtual Academy-n: http://www.microsoftvirtualacademy.com/Studies/SearchResult.aspx?q=hdin…
Üdv,
Marci
A Microsoftnál dolgozom.
- A hozzászóláshoz be kell jelentkezni
Minden érdekel, megnézem ezt is, köszönöm. Ha már Microsoft, olvastam az SQL Server 2014-nél big data-ról. Arról lehet tudni, hogy kiféle-miféle?
-----------
"Pontban 0:00-kor nem nagyon szoktak véletlen dolgok történni"
- A hozzászóláshoz be kell jelentkezni
A real-time analysis képességek jelentősen erősödnek a Hekatonnal: http://blogs.technet.com/b/dataplatforminsider/archive/2013/06/03/sql-s…
Üdv,
Marci
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Csak adalékként (bújtatott sub): a Facebook-nak van egy Presto nevű technológiája, ami nagyjából elosztott sql-t csinál bigdata-n.
- A hozzászóláshoz be kell jelentkezni
Furcsa, én a big data megoldásokat úgy képzeltem el, hogy az elosztott rendszer fölött van egy layer, ami megoldja az elosztást a clusteren.
-----------
"Pontban 0:00-kor nem nagyon szoktak véletlen dolgok történni"
- A hozzászóláshoz be kell jelentkezni
ezt a kijelentést nem sikerült értelmeznem:)
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
Úgy értettem, hogy van egy réteg a hadoop (whatever) fölött, ami megoldja az elosztott rendszeren történő lekérdezést és neked ezzel csak annyi dolgod, hogy lehetőleg úgy írd meg a lekérdezést, hogy az könnyen párhuzamosítható legyen.
-----------
"Pontban 0:00-kor nem nagyon szoktak véletlen dolgok történni"
- A hozzászóláshoz be kell jelentkezni
Akkor csak jól értettem, viszont a presto-val való összefüggést nem:)
A bigdata alatt jóval több dolog van, mint ami a felszín irányából látszik. Fent már felvázoltam, hogy csak a hadoop esetében hány komponens van, ami csak és kizárólag a hadoop-ot teszi működőképessé.
A hadoop igazából az adatok tárolását és a feladatok futtatását teszi lehetővé neked, erre épülnek különböző dolgok, pl a már említett hive/pig ami egy lekérdezőnyelvet ad és az adataidat kezelni tudod vele (ő a saját lekérdezőnyelvéből java binárist gyárt majd azt futtatja a clusteren). A párhuzamos futást már a környezet lehetővé teszi és igazából rá is kényszerít (prepare/map/reduce/produce). Minden egyes feladatot ezekre a state-ekre kell lebontanod (legalábbis célszerű;)).
Az előbb említett presto mellé venném az accumulo -t amik szintén hadoop-ra épülő "adatbázis" rendszerek de egészen más megközelítést alkalmaznak mint a hadoop-os mapreduce. Egy másik hadoop-ra épülő project a spark, de ezeket igazából nagyon sokáig lehetne sorolni.
Ha bigdata-val szeretnél foglalkozni, akkor ezeken haladj végig. Vagyis akkor kiegészíteném az első hozzászólásomat így:
1. Hadoop cluster felállítása (1 master/2 slave)
2. Részkomponensek megismerése, olvass utána mi a mapreduce alapja, nézz logikai példákat hogy hogyan és miért pont így működik az adatok feldolgozása.
3. Ismerkedj meg a lekérdező/feldolgozó nyelvekkel, kb ilyen sorrendben: pig, hive
4. Ismerkedj meg hadoop-ra épülő projectekkel: accumulo, presto, spark
5. Ismerkedj meg nem hadoop alapú, de bigdata megoldásokkal: cassandra, storm
1-3 -ig igazából post process megoldások. Van egy bazi nagy adathalmazod, elindítod a lekérdezést, aztán lehet fut 2 óráig mire megkapod hogy elírtál egy sort és nem jó az eredmény;))
4-es már félig post process, félig real-time feldolgozók (dobálod be az adatot aztán kérdezhetsz belőle)
Az 5-ös -ben a cassandra a 4-es hez tartozik mert félig real-time, de az 5-be került mivel nem hadoop project. A storm az egy teljesen elosztott, real time feldolgozó rendszer (Bedobod az adatot és már jön az eredmény)
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
+1 a nem-hadoop alapú kezdésre. Pl. a Riak egy egyszerűen elkezdhető, mégis fokozatosan komplexebbé váló (Amazon Dynamo alapú) rendszer.
Ami szerintem fontos, az a különböző tradeoff (CAP, latency, offline/online) megtanulása. Egy kis bemelegítő olvasmány:
http://www.somethingsimilar.com/2013/01/14/notes-on-distributed-systems…
- A hozzászóláshoz be kell jelentkezni
A Hadoopot és a Hive-ot láttam először, erről van valami halvány sejtésem. Persze szeretném majd a többi eszközt is felületesen megismerni. Használni úgyis élesben fogom megtanulni szerintem.
-----------
"Pontban 0:00-kor nem nagyon szoktak véletlen dolgok történni"
- A hozzászóláshoz be kell jelentkezni
"Időm nem sok van rá, de mindenképp szeretnék képben lenni ezzel a témával is és bővíteni a tudásomat"
Gyanus, hogy meg nem olvastad a Wikipedia Big data es Data Science cikkeit. Oriasi terulet, ha nincs sok idod ra, ez a "minden erdekel"-nek nincs ertelme. Eloszor talan azt kene eldontened, hogy uzemeltetes vagy fejlesztes erdekel.
----------------------
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"
--> YouTube csatornám
- A hozzászóláshoz be kell jelentkezni
Elég sokat olvastam a témában, tudom, hogy a big data nem 2 nap alatt megtanulható, hanem egy hatalmas témakör. A minden érdekelnek van értelme, gondolom azt érted alatta, hogy mindent meg akarok tanulni. Ez helyesen úgy hangzik, hogy mindent megtanulok, amit csak lehet/tudok/időm van rá. Üzemeltetés és fejlesztés is érdekel. Hogy egy kis személyeskedés is legyen a hozzászólásban, unom már, hogy mindig mindent az emberek szájába kell rágni és nem képesek asszociálni és értelmezni egy-egy szöveget. Könnyebb hirtelen valamit odatrollkodni.
-----------
"Pontban 0:00-kor nem nagyon szoktak véletlen dolgok történni"
- A hozzászóláshoz be kell jelentkezni
[duplaztam, torolve]
- A hozzászóláshoz be kell jelentkezni
http://www.liesdamnedlies.com/2014/02/building-your-own-web-analytics-s…
Ez egy cikk ami egy konkrét támán keresztül hozza fel a használható eszközöket. Igazából egy linktár. De hasznos darab.
- A hozzászóláshoz be kell jelentkezni