sql >> Databáze >  >> NoSQL >> HBase

Rozdíl mezi InputSplit a bloky v Hadoopu

V tomto tutoriálu MapReduce probereme srovnání mezi MapReduce InputSplit a Blocks v Hadoop . Nejprve uvidíme, co jsou datové bloky HDFS, vedle toho, co je Hadoop InputSplit.

Pak uvidíme rozdíl mezi funkcemi InputSplit a Blocks. Nakonec také probereme příklad Hadoop InputSplit a Data bloků v HDFS.

Úvod do InputSplit a bloků v Hadoopu

Nejprve si proberme, co jsou datové bloky HDFS a co je Hadoop InputSplit jeden po druhém.

1. Co je to blok v HDFS?

Hadoop HDFS rozdělit velké soubory na malé části známé jako bloky. Obsahuje minimální množství dat, která lze číst nebo zapisovat. HDFS ukládá každý soubor jako bloky.

Aplikace Hadoop distribuuje datový blok mezi více uzlů. Klient HDFS nemá žádnou kontrolu nad blokem, jako je umístění bloku, o všech takových věcech rozhoduje Namenode.

2. Co je InputSplit v Hadoop?

Představuje data, která jednotlivec mapuje procesy. Počet mapových úloh se tedy rovná počtu InputSplits. Framework rozděluje na záznamy, které mapovač zpracovává.

Vstupní soubory zpočátku ukládají data pro úlohu MapReduce. Vstupní soubor se obvykle nachází v HDFS InputFormat popisuje, jak rozdělit a číst vstupní soubory. InputFormat je zodpovědný za vytváření InputSplit.

Porovnání mezi InputSplit a Blocks v Hadoop

Pojďme nyní diskutovat o funkcích rozdílu mezi InputSplit a Blocks v Hadoop Framework.

1. Reprezentace dat

  • Blokovat –  HDFS Block je fyzická reprezentace dat v Hadoop.
  • InputSplit –  MapReduce InputSplit je logická reprezentace dat přítomných v bloku v Hadoopu. V zásadě se používá při zpracování dat v programu MapReduce nebo jiných technikách zpracování. Hlavní věc, na kterou je třeba se zaměřit, je, že InputSplit neobsahuje skutečná data; je to jen odkaz na data.

2. Velikost

  • Blokovat –  Ve výchozím nastavení je velikost bloku HDFS 128 MB které můžete změnit podle svých požadavků. Všechny bloky HDFS mají stejnou velikost kromě posledního bloku, který může mít stejnou velikost nebo menší. Rámec Hadoop rozdělí soubory na bloky o velikosti 128 MB a poté je uloží do systému souborů Hadoop.
  • InputSplit –  Velikost InputSplit je ve výchozím nastavení přibližně stejná jako velikost bloku. Je definován uživatelem. V programu MapReduce může uživatel ovládat velikost rozdělení na základě velikosti dat.

3. Příklad Block a InputSplit v Hadoop

Předpokládejme, že potřebujeme uložit soubor do HDFS. Hadoop HDFS ukládá soubory jako bloky. Blok je nejmenší jednotka dat, kterou lze uložit nebo načíst z disku.

Výchozí velikost bloku je 128 MB. Hadoop HDFS rozděluje soubory do bloků. Poté tyto bloky uloží do různých uzlů v clusteru.

Máme například soubor 132 MB. HDFS tedy rozdělí tento soubor na 2 bloky.

Nyní, pokud chceme provést operaci MapReduce na blocích, nebude proces zpracován. Důvodem je, že 2 blok je neúplný. InpuSplit tedy tento problém řeší.

MapReduce InputSplit vytvoří logické seskupení bloků jako jeden blok. Jako InputSplit obsahuje umístění pro další blok a bajtový offset dat potřebných k dokončení bloku.

Závěr

InputSplit je tedy pouze logický kus dat, tj. má pouze informace o adrese nebo umístění bloků. Zatímco Block je fyzická reprezentace dat.

Nyní jsem si jistý, že po přečtení tohoto blogu máte jasnější představu o blocích InputSplit a HDFS Data. Pokud najdete nějaký jiný rozdíl mezi InputSplit a Blocks, dejte nám vědět v sekci komentářů.


  1. Nelze získat připojení Jedis; Nelze získat zdroj z fondu

  2. Meteor Subscribe neaktualizuje pořadí řazení kolekce

  3. Mongoose najít/aktualizovat dílčí dokument

  4. Jak vrátit jen hodnotu v MongoDB