Tamanho do bloco do composto de Hadoop XDF
MapReduce divide cada ficheiro de texto de entrada num ou mais divisões de entrada que, por predefinição, são o tamanho do bloco HDFS, por exemplo, 128 MB-
Separar cada entrada é convertido de texto não comprimido, não analisado para uma ficheiro de binário xdfd no subdirectório do directório de saída – informações de cabeçalho para o conjunto de xdfd "dados" está a ser um ficheiro de metadados de xdfm único no directório "metadados" de saída comprimida e analisada
-
Eficiência em análises posteriores, cada ficheiro de xdfd de saída deve corresponde aproximadamente o tamanho do bloco HDFS
-
Para compensar a compressão de XDF, por conseguinte, normalmente, terá de aumentar o tamanho de ficheiro de xdfd de saída, aumentando a entrada de dividir o tamanho utilizando este parâmetro para RxHadoopMR():
-
hadoopSwitches="-Dmapred.min.split.size=1000000000"
-
Para instalações de Hadoop mais recentes com fios, o parâmetro é mapreduce.input.fileinputformat.split.minsize
-
-
Aumentar a entrada dividir ainda mais o tamanho pode reduzir o número de ficheiros XDF compostos e, por conseguinte, o número do mapa de parallelized de tarefas nas análises posteriores. Isto poderá ser útil se o número de ranhuras de mapa disponíveis ou recipientes for pequeno relativamente ao número de divisões. Por outro lado, quando mapear muitos faixas horárias ou contentores estão disponíveis, divide a entrada mais pequena e mais xdfd poderá resultar na conclusão mais rápida.
-
Exemplo
Importar um CSV de entrada de 670 MB a Sandbox de Hortonworks utilizando o dividir (32MB) de tamanho de entrada predefinido criado 670/32 = 21 xdfd com um desempenho de rxSummary de 185". Aumentar tamanho de entrada de divisão para 150MB criado xdfd 5 segredo cada cerca de 32MB com um desempenho de rxSummary de 68".
rxSetComputeContext (RxHadoopMR(hadoopSwitches = "-Dmapreduce.input.fileinputformat.split.minsize=150000000")) rxImport (myCSV, myCXdf, substituir = TRUE) conjunto de # rxSetComputeContext(RxHadoopMR())-o novamente quando concluído