Toto je starší verze dokumentu!
Hadoop
- vhodné pro: velké soubory (čtení na disku až 100 MB/s, výhody sekvenčního čtení), streamovací přístup
- nevhodné pro: spoustu malých souborů (hodně zpomalí rychlost disku, až na třeba 1 MB/s), náhodný přístup
Důvody pro Hadoop
- distribuovatelnost - 1 soubor nemusí být celý v jednom nodu
- replikace
- NameNode - metadata na jiném serveru
- append only FS
Architektura Hadoopu
- HDFS: distribuovaný FS
- YARN: plánovač úloh a alokátor zdrojů
- Application – alokuje zdroje
- Resource Manager – globální správce zdrojů pro cluster. řeknu mu o paměť, RAM, on mi řekne, zda to jde
- Node Manager – podřízený správce zdrojů na nodu, kouká se, zda je dost místa pro danou operaci
- MapReduce
- zvěřinec nad tím: Hive, Spark, HBase, Zookeeper (sdílení konfiguračních souborů, komunikace clusterů), Kafka, Flink, Kassandra, Kudu, …
- Name Node - ukládá metadata
- Data Node
- Ukládá Databloky
- Získává bloky od klientů
- Získává bloky od ostatních DataNodů
- Replikace
- Dostává příkaz delete od NameNode
- replikační faktor většinou 3 - 2 repliky ve stejném racku, třetí replika mimo
- HDFS soubory jsou rozděleny do bloků - default 64MB/128MB, ale lze změnit
Typy souborů
- řádkové - CSV, TSV, Avro
- vhodné, pokud se ptám často na většinu sloupců
- sloupcové - ORC, Parquet
- vhodné, pokud se ptám jen na část sloupců
- nevhodné pro modifikaci (v Hadoopu netřeba), náročné pro zápis
- SequenceFile - vhodný formát pro hodně malých souborů
Komprese
Rychlost | Účinnost | Splitovatelnost | |
---|---|---|---|
GZIP/ZLib | ✔ | ||
BZip2 | ✔ | ✔ | |
LZO | ✔ | ✔ | |
Snappy | ✔ |
Splitovatelnost – kompresní algoritmus vytváří bloky, které lze samostatně dekomprimovat – nutnost pro paralelní zpracování
- kdy použít jaký
- archivace - Gzip
- splitable - možná nikdy, protože se můžou už bloky komprimovat a ne celé soubory
kj/hadoop-a-hdfs.1503062115.txt.gz · Poslední úprava: 18.08.2017 15:15 autor: kj