Im skúmanie Hadoop a MapReduce (ja som začiatočník!) a mať jednoduchú otázku, pokiaľ ide o HDFS. Som trochu zmätený o tom, ako HDFS a MapReduce spolupracovať.
Povedzme, že mám protokoly zo systémov A, Tweets a astoh dokumentov zo systému B. Keď je tento proces načítaný do Hadoop / HDFS, všetko sa hodí do jedného veľkého HDFS vedra alebo by existovali 3 oblasti (pre nedostatok lepšieho slova)? Ak áno, aká je správna terminológia?
Otázky vychádzajú z pochopeniavykonajte úlohu MapReduce. Ak by som sa chcel sústrediť iba na protokoly, môže to byť vykonané, alebo sú všetky úlohy vykonané na celom obsahu uloženom v klastri?
Ďakujeme za vaše vedenie! TM
odpovede:
1 pre odpoveď č. 1HDFS je súborový systém. Rovnako ako vo vašom lokálnom systéme môžete organizovať všetky svoje záznamy a dokumenty do viacerých súborov a adresárov. Keď spustíte úlohy MapReduce, zvyčajne zadáte adresár so vstupnými súbormi. Preto je možné vykonať prácu iba na protokoloch zo systému A alebo dokumentov zo systému B.
Vstup pre vašich mapovačov je však určený InputFormat
, Väčšina implementácií pochádza z FileInputFormat
ktorý číta súbory. Je však možné implementovať vlastné InputFormats
aby si mohli prečítať údaje z iných zdrojov. V tejto časti nájdete vysvetlenie vstupných a výstupných formátov Hadoop výučba.