Rozmiar bloku XDF Hadoop projekt wstępny
MapReduce dzieli każdego pliku tekstu wejściowego na jeden lub więcej podziałów bilansujących wejściowego, które ze względu na domyślny rozmiar bloku HDFS, np. 128 MB
-
Każdego podziału wejściowego jest konwertowana z nieskompresowanego, nieanalizowanych tekst skompresowany i analizowane dane wyjściowe pliku binarnym xdfd w podkatalogu "dane" katalogu wyjściowego – informacje nagłówka dla zestawu xdfd's znajduje się w xdfm pojedynczego pliku metadanych w katalogu "metadane"
-
W celu zwiększenia wydajności w kolejnych analizach każdego pliku wyjściowego xdfd powinna mniej więcej zgodny z rozmiarem bloku HDFS
-
Aby zrekompensować kompresji XDF w związku z tym zwykle należy zwiększyć rozmiar pliku xdfd poprzez zwiększenie dane wejściowe Podziel rozmiar za pomocą tego parametru, aby RxHadoopMR():
-
hadoopSwitches="-Dmapred.min.split.size=1000000000"
-
W przypadku ostatnich instalacji Hadoop z przędzy parametr jest mapreduce.input.fileinputformat.split.minsize
-
-
Zwiększając rozmiar dalsze dzielenie danych wejściowych może zmniejszyć liczbę kompozytowych plików XDF i stąd liczba jednordzeniowym mapę zadań w kolejnych analizach. Może to być przydatne, jeśli liczba gniazd dostępnych mapę lub pojemników jest mała w porównaniu do liczby podziałów. I odwrotnie podczas mapowania wielu gniazda lub kontenery są dostępne, dzieli mniejszych wprowadzania i więcej xdfd może spowodować szybsze zakończenie.
-
Przykład
Importowanie wejściowych CSV 670 MB w obszarze izolowanym Hortonworks za pomocą domyślne wejściowe podzielić rozmiar (32MB) utworzone 670/32 = 21 xdfd firmy z rxSummary wydajność systemu 185". Zwiększenie rozmiaru podziału wejściowego do 150MB xdfd 5 utworzonego przez każdy o pojemności 32MB z rxSummary wydajność o 68".
rxSetComputeContext (RxHadoopMR(hadoopSwitches =
"-Dmapreduce.input.fileinputformat.split.minsize=150000000"))
rxImport (myCSV, myCXdf, zastępować = TRUE)
zestaw # rxSetComputeContext(RxHadoopMR()) go z powrotem po zakończeniu