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