Композитен hadoop размер XDF блок
MapReduce разделя всеки файл за въвеждане на текст в един или повече входни детайли, които по подразбиране са HDFS блок, например 128 МБ
-
Всеки въвеждане раздели се преобразува от некомпресиран, unparsed текст компресирани и анализирана производство xdfd двоичен файл в "данни" поддиректорията на директорията output – горен информация за набора от xdfd на е в един xdfm метаданни файл в директорията "метаданни"
-
Ефективност при последващи анализи всеки изходен файл xdfd приблизително трябва да съответства на размера на HDFS блок
-
За компенсация XDF компресия, затова обикновено ще трябва да увеличите размера на изходния файл на xdfd чрез увеличаване на входа разделите размер използвате този параметър, за да RxHadoopMR():
-
hadoopSwitches="-Dmapred.min.split.size=1000000000"
-
За по-нови инсталации Hadoop използване ПРЕЖДАТА параметърът е mapreduce.input.fileinputformat.split.minsize
-
-
Увеличаване на въвеждане от разделите размер допълнително може да намали броят на съставно XDF файлове и следователно броя на parallelized карта задачи при последващи анализи. Това може да бъде полезна, ако броят на карта на налични слотове или контейнери е малък в сравнение с броя на детайли. Обратно когато много карта слотове или контейнери са на разположение, по-малки въвеждане разделя и повече xdfd може да доведе до по-бързо изпълнение.
-
Пример
Импортиране на CSV въвеждане на 670 MB в Hortonworks таксуването използване по подразбиране разделите размер (32 МБ) създадена 670/32 = 21 xdfd rxSummary изпълнението на 185". Увеличаване на размера на въвеждане разделяне 150 MB създаден 5 xdfd е около 32 МБ rxSummary изпълнението на 68".
rxSetComputeContext (RxHadoopMR(hadoopSwitches =
"-Dmapreduce.input.fileinputformat.split.minsize=150000000"))
rxImport (myCSV, myCXdf, замени = TRUE)
rxSetComputeContext(RxHadoopMR()) # комплект обратно, когато е готово