SORU
23 Mart 2010, Salı


Zincirleme birden fazla Hadoop MapReduce işleri

MapReduce uygulamak gerçek hayatta birçok durumda, son algoritmaları birkaç MapReduce adım olmuyor.

I. e. Map1 , Reduce1 , Map2 , Reduce2 , vb.

Bir sonraki harita için girdi olarak gerekli geçen azaltmak çıktısı var.

Ara veri (genel) boru hattı başarıyla tamamlandıktan sonra devam etmek istemediği bir şeydir. Ayrıca, çünkü bu ara veri genel bazı veri yapısı (bir 'göster' veya 'set') kalmak istemeyiz çok fazla çaba yazma ve okuma bu anahtar-değer çiftleri.

Hadoop bunu yapmak için önerilen yolu nedir?

Doğru yol, temizlik sonrasında da dahil olmak üzere bu ara veri işlemek için nasıl gösterir (basit) bir örnek var mı?

Teşekkürler.

CEVAP
24 Mart 2010, ÇARŞAMBA


Yahoo geliştirici ağı bu öğretici size bu konuda yardımcı olacağını düşünüyorum: Chaining Jobs

Bu JobClient kullanın.() runJob. İlk iş verilerin çıkış yolu ikinci bir iş için giriş yolu haline gelir. Bu uygun kod ile işleri için bağımsız değişken olarak geçirilen için onları ayrıştırmak ve bu iş için parametreleri ayarlamak gerekiyor.

Yukarıdaki yöntem, ancak şimdi eski mapred API bu şekilde olabileceğini düşünüyorum, ama yine de çalışması gerekir. Yeni mapreduce API benzer bir yöntem olacak ama ne olduğundan emin değilim.

Bir iş çıkardıktan sonra ara veri kodunuzu yapabilirsiniz bitinceye kadar. Yaptım daha önce yolu gibi bir şey kullanarak

FileSystem.delete(Path f, boolean recursive);

Bu yol nereye verilerin HDFS üzerinde yer almaktadır. Sadece başka bir iş gerektirir sonra bu verileri silmek emin olmanız gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • El SalvaLobo

    El SalvaLobo

    10 Temmuz 2006
  • Howcast

    Howcast

    4 EKİM 2007
  • Manuel Vizcaino

    Manuel Vizca

    27 Mayıs 2008