David, Yes, MapReduce destina-se a operar em uma grande quantidade de dados. E a idéia é que, em geral, o mapa e reduzir as funções não devem se preocupar com quantos mapeadores ou quantos redutores existem, isso é apenas otimização. Se você pensa cuidadosamente sobre o algoritmo que postei, você pode ver que não importa qual mapeador recebe as partes dos dados. Cada registro de entrada estará disponível para cada operação de redução que o necessite. Ndash Joe K 18 de setembro 12 às 22:30 Na melhor das minhas compreensões, a média móvel não é bem mapas para o paradigma MapReduce, uma vez que seu cálculo é basicamente uma janela deslizante sobre dados classificados, enquanto a MR é o processamento de intervalos não interceptados de dados ordenados. A solução que vejo é a seguinte: a) Implementar particionador personalizado para poder fazer duas partições diferentes em duas execuções. Em cada corrida, seus redutores obterão diferentes faixas de dados e calcularão a média móvel quando apropriado vou tentar ilustrar: Em dados de primeira execução para redutores devem ser: R1: Q1, Q2, Q3, Q4 R2: Q5, Q6, Q7, Q8 . Aqui você irá calcular a média móvel para alguns Qs. Na próxima execução, seus redutores devem obter dados como: R1: Q1. Q6 R2: Q6. Q10 R3: Q10..Q14 E caclule o resto das médias móveis. Então você precisará agregar resultados. Idéia de compartilhamento personalizado que terá dois modos de operação - cada vez que se divide em intervalos iguais, mas com alguma mudança. Em um pseudocódigo, será assim. Partição (keySHIFT) (MAXKEYnumOfPartitions) onde: SHIFT será retirado da configuração. MAXKEY valor máximo da chave. Eu assumo por simplicidade que eles começam com zero. RecordReader, IMHO não é uma solução, uma vez que está limitado a divisão específica e não pode deslizar sobre o limite das divisões. Outra solução seria implementar lógica personalizada de dados de entrada de divisão (é parte do InputFormat). Pode ser feito para fazer 2 slides diferentes, semelhante ao particionamento. Respondeu 17 de setembro às 8: 59 Quando calcula uma média móvel em execução, colocar a média no período de tempo médio faz sentido No exemplo anterior, calculamos a média dos três primeiros períodos de tempo e colocamos ao lado do período 3. Poderíamos ter colocado A média no meio do intervalo de tempo de três períodos, isto é, ao lado do período 2. Isso funciona bem com períodos de tempo estranhos, mas não tão bons para períodos de tempo iguais. Então, onde colocamos a primeira média móvel quando M 4 Tecnicamente, a Média Móvel cairá em t 2,5, 3,5. Para evitar este problema, suavizamos as MAs usando M 2. Assim, suavizamos os valores suavizados. Se medimos um número par de termos, precisamos suavizar os valores suavizados. A tabela a seguir mostra os resultados usando M 4.
No comments:
Post a Comment