Velikost bloku XDF složené Hadoop
MapReduce rozdělí každý vstupní textový soubor na jeden nebo více vstupních rozdělení, které je ve výchozím nastavení je velikost bloku HDFS, například 128 MB
-
Každý vstupní rozdělení je převedena nekomprimované, nezpracované komprimované a analyzované výstup, který je xdfd binární soubor v podadresáři informace o záhlaví sady na xdfd výstupní adresář "data" v jedné xdfm metadata souboru v adresáři "metadata"
-
Pro zvýšení efektivity v následných analýz by měl odpovídat každý výstupní soubor xdfd zhruba velikost bloku HDFS
-
Pro kompenzaci je proto obvykle nutné zvětšit velikost souboru xdfd výstup vstup zvýšením komprese XDF rozdělit velikost pomocí tohoto parametru na RxHadoopMR():
-
hadoopSwitches="-Dmapred.min.split.size=1000000000"
-
Pro novější instalace Hadoop pomocí nitě parametr je mapreduce.input.fileinputformat.split.minsize
-
-
Zvýšení velikosti dále rozdělit vstupní může snížit počet složených souborů XDF a tudíž počet map paralelizován úkolů v následných analýz. To může být užitečné, pokud číslo mapy dostupné sloty nebo nádob je malé vzhledem k počtu rozdělení. Naopak mnoho mapování sloty nebo kontejnery, které jsou k dispozici, rozdělí menší vstupní a další xdfd může mít za následek rychlejší dokončení.
-
Příklad
Import vstupní CSV 670 MB v karanténě Hortonworks pomocí výchozí vstupní rozdělit velikost (32MB) vytvořen 670/32 = 21 xdfd's s rxSummary výkon 185". Zvýšit velikost vstupní rozdělit na 150MB vytvořenou 5 xdfd je každý přibližně 32MB s rxSummary výkon 68".
rxSetComputeContext (RxHadoopMR(hadoopSwitches =
"-Dmapreduce.input.fileinputformat.split.minsize=150000000"))
rxImport (přepsat myCSV, myCXdf, = TRUE)
Sada rxSetComputeContext(RxHadoopMR()) # je zpět po dokončení