Tek bir eşlemede N miktarını göndermek için Hadoop kullanmaya çalışıyorum. Hatların bölünmüş olmasına gerek yok zaten.Tek bir haritadaki birden fazla metin satırı
NLineInputFormat'ı kullanmayı denedim, ancak her satırda bir satırdaki N satırlık metinleri bir satırda [Nth satırından sonra vazgeçerek] gönderir.
Ben seçeneği ayarlamak için denedim ve sadece her haritaya bir kerede 1 çizgisinde göndermeden girdi N satır alır: Ben LineRecordReader geçersiz kılmak için beni öneren bir posta listesini buldum
job.setInt("mapred.line.input.format.linespermap", 10);
:: sonraki, ancak bu kadar basit değil, çünkü içsel veri üyeleri tamamen gizli.
NLineInputFormat ve bunun sabit kodları LineReader için kaynağı kontrol ettim, bu yüzden geçersiz kılma yardımcı olmaz.
Ayrıca, btw Amazon EC2 MapReduce ile uyumluluk için Hadoop 0.18 kullanıyorum.
Neden bunu yapmaya çalışıyorsun? Birden fazla hat bir anlamda tek bir kayıt mı oluşturuyor? –
Gerçekten bir dizi rastgele satır sayısına ihtiyacım var, ancak sonuç olarak yaşayabiliyorum. Doğru redüktöre göndermek için ona ihtiyacım var. – monksy
Sorunuza cevap vermek için evet yaparlar. – monksy