Scala ile Dağıtık Hesaplama

83 views
Skip to first unread message

Hüseyin Zengin

unread,
Apr 2, 2014, 2:08:44 PM4/2/14
to scala-...@googlegroups.com
Herkese merhaba,
Uzun vadede Scala ile geliştirmeyi planladığım bir proje için dağıtık hesaplama kullanmayı planlıyorum. İlk aklıma gelen AWS üzerinde Hadoop+Scala kullanmaktı ancak alternatif bir fikire de ihtiyacım var, Googledan net bir sonuç alamadım; başka güçlü bir alternatif kullanan, bilen var mı?(Scala+XXX+YYY... şeklinde)
Dip Not: İşin aslı Hadoop tecrübem biraz(oldukça) az.

cagdas senol

unread,
Apr 2, 2014, 2:11:43 PM4/2/14
to scala-...@googlegroups.com

Spark var
http://spark.apache.org

02 Nis 2014 21:08 tarihinde "Hüseyin Zengin" <hzen...@gmail.com> yazdı:
Herkese merhaba,
Uzun vadede Scala ile geliştirmeyi planladığım bir proje için dağıtık hesaplama kullanmayı planlıyorum. İlk aklıma gelen AWS üzerinde Hadoop+Scala kullanmaktı ancak alternatif bir fikire de ihtiyacım var, Googledan net bir sonuç alamadım; başka güçlü bir alternatif kullanan, bilen var mı?(Scala+XXX+YYY... şeklinde)
Dip Not: İşin aslı Hadoop tecrübem biraz(oldukça) az.

--
Bu iletiyi Google Grupları'ndaki "Scala Türkiye" grubuna abone olduğunuz için aldınız.
Bu grubun aboneliğinden çıkmak ve bu gruptan artık e-posta almamak için scala-turkiy...@googlegroups.com adresine e-posta gönderin.
Daha fazla seçenek için https://groups.google.com/d/optout adresini ziyaret edin.

Erdem Agaoglu

unread,
Apr 8, 2014, 4:12:11 AM4/8/14
to scala-...@googlegroups.com
Selam Huseyin,

Aradigin sorunun cevabi yapmak istedigin hesaplamanin turune gore degisir. Hadoop sadece bir altyapi ve biraz soyut bir kavram.
Kullanilan bir ornek vereyim: Clickstream verilerini ve accessloglari HDFS'te kaydediyoruz, scalding ile isleyip gunluk raporlar cikariyoruz.
Sonucta bir tur dagitik hesaplama. Ama tum isler icin bu yapiyi kullanmiyoruz. Biraz daha acabilirsen belki daha yardimci olabiliriz.

Hüseyin Zengin

unread,
Apr 8, 2014, 9:43:47 AM4/8/14
to scala-...@googlegroups.com
Erdem bey merhaba,
İlginiz için teşekkür ederim, bir web sitesi üzerinden html parse yoluyla veri toplama ve işleme yapıyorum.
Kullanıcılara ait bazı davranışları analiz etmeye planlıyorum. 

Dağıtık olmayan bir şekilde Scala ile veriyi toplamada ve veriyi yeniden biçimlendirmede bir sıkıntı yaşamıyorum şimdilik. Ancak veri boyutu ve işlem gücü ihtiyacı yüksek. Şuan için benim açımdan problem değil ama uzun vadede ürün haline getirmeyi planladığım için dağıtık hesaplamanın tek alternatif olduğunu düşündüm. 
Tekrar teşekkürler.

Erdem Agaoglu

unread,
Apr 9, 2014, 11:16:08 AM4/9/14
to scala-...@googlegroups.com
Tekrar Selam,

Web crawl cok asina oldugum bir konu degil, aklima gelenleri yazayim ama biraz uydurma olabilir bastan soyliyim.

Bu iste bayadir aktif olan nutch diye bir proje var oncelikle, ona bakarsak hem crawl hem parse hem index esnasinda kendi yapilari mevcut. En mantikli hareket onu bir incelemek olurdu tabi ama, diyelim ki baktik begenmedik eksik geldi vs, hani bastan yapsak neler yapardik diye dusunuyorum.

Ilk olarak aklima gelen crawler ile parsing'i birbirinden ayri tasarlamak olur. 
Crawler misal bir kafka'dan bir link alir, bir node uzerinde onu cekecek bir is baslatir
Is linki ceker html ciktiyi baska bir kuyruga yazar.
Parsing tarafi onu alir, yine baska bir node uzerinde linkler cikartilir.
Sayfadan cikan linkler tekrar crawler'in okudugu kuyruga yazilir.
Islem devam eder.
Tabi domain bazli hiz sinirlari icin falan bu scheduling'in biraz akilli calismasi lazim, baya bir is.
Yine tabi farkli node falan deyip gecmemek lazim, onlarin kaynak hesabi da baya bir is. yarn, mesos, akka-cluster gibi bir seyler gerekebilir.

Ikinci asamada bu sayfa iceriklerinin daha detayli incelenmesi icin, sayfalarin oldugu kuyruk;
bir tip stream processing yapisiyla (storm, spark, samza vs.) okunup analiz edilebilir
gunluk olarak hdfs'e yuklenip batch analizler yapilabilir
dogrudan solr'a yuklenip indexlenebilir
hatta dogrudan hbase'e yuklenip versiyon farkliliklari hesaplanabilir
...
Kisacasi buradan sonra yapilabilecekler hayal-gucuyle sinirli.

Tekrar hatirlatiyim tabi, bunlar direk bir anda aklima gelenler. Muhtemelen cok daha duzenli bir hale getirilebilir.

Halit Olali

unread,
Apr 10, 2014, 2:59:43 AM4/10/14
to scala-...@googlegroups.com
Selam,

biz benzer bir crawler icin Redis+Storm kullandik.


Ozellikle redis bu tarz veri yapilarinda cok etkin, persistency cok problem degilse kafka,rabbitmq gibi seylere girmemenizi tavsiye ederim.

Stormu Scaladan da kullanabilirsiniz diye tahmin ediyorum, Basit ve etkin bir cozum olusturabilirsiniz.
Reply all
Reply to author
Forward
0 new messages