Şimdi Ara

Big Data işlemleri için kullanılacak bilgisayar

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
11
Cevap
0
Favori
874
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Mrb son 10 gündür Big Data konusuna çalışmaya başladım. Bir proje için iş görüşmem olacak ona hazırlık olarak Hadoop ve Spark uygulamalaarını deniyorum ancak adı üstünde büyük veri olunca Laptop'um yetmemeye başladı: 4GB DDR2 RAM'li 2Ghz C2D 2009 mode Lenovo N500 kullanıyorum, üstündeki 320G Toshiba 5400rpm harddiskin 80GB partisyonuna kurduğum OSX 10.7.5 üzerinde

    Tom White'ın Hadoop The Definitive Guide kitabındaki ilk Hadoop örneğini denedim makina bayağı kasıldı. Örnekte Amerika'daki onbinlerce meteoroloji istasyonunun 1901-2001 arasındaki 100 yıllık verileri var, ben 1955'e kadarını indirdim onlar bile 2.3GB tuttu, 1955 sonrası veriler aşırı büyümeye başladığı için indiremedim. Örneğimde 1901-1955 arası 2.3GB veriler içinde her sene en yüksek hava sıcaklık değerini alıp listeliyor, bu işlemde Hadoop'un açtığı java prosesleri her biri birkaç yüz MB 'tan 8-9 proses açıyor, sadece prosesler RAM'de 2GB+ yer kaplıyor.

    Kitabın 10. ünitesinde bu işler için donanım önerisi var:

    İşlemci: 2 adet 16 veya 8 çekirdekli 3GHz Ana İşlemci
    Hafıza: 64 ila 512 GB arası ECC RAM (Bazı Hadoop kullanıcıları normal RAM kullanınca Cheksum Hatası aldıklarını belirtmiş)
    Saklama: 12 ila 24 adet 1 - 4 TB SATA disk.
    Ağ (çoklu makina konfigürasyonunda) Link Aggregation özellikli Gigabit ethernet.

    Böyle bir makina en ucuz nasıl toplanır? Gerçi proje görüşmeme az zaman kaldı, yani şu anda böyle bir makinayı toplamama vakit te yok ancak projeye başladığımda kendim deneme yapmak için yine elimin altında bir makina olması iyi olur. Proje y.dışında olduğu için büyük ihtimalle bu makinayı bavulumda da taşımam gerekecek o yüzden kolay taşınabilir ve hafif birşey olması tercihim. Yoksa hiç bunlarla uğraşmayıp bulut işlem hesabı mı açtırsam, bu şekilde bulut işlem hesabı açtıran var mı? Tavsiyeleri bekliyorum.

    < Bu ileti mini sürüm kullanılarak atıldı >







  • Eger bilgisayari fiziksel olarak toplamak zorunda degilseniz machine learning (ve tabii big data) icin ozel yapim servislerden kiralayabilirsiniz. Bu cesit bir makineyi toplamak asiri maliyetli ve zor olur. Sadece SATA diskler 1 bavul kaplar gibi geliyor bana. Big Data icin ozel uretim HDD gerekecektir buyuk ihtimalle, onlarin boyutlari biraz daha buyuk oluyor error correction icin. Ki bunlarin kendi fiyatlarini amorti etmeleri icin de cogu zaman 7/24 islem yapmasi gerekiyor. Kullananlardan duydugum kadariyla hiz gayet tatmin edici ama duruma gore fiyat biraz tuzlu olabiliyor.

    Kaggle'in akciger kanserine teshis koymak icin actigi bir competition'i vardi. MRI goruntulerinin toplami 65 GB yer kapliyordu. Macbook Air'da 100.000 tane 30 karakterli string'i LSTM ile (16'li, 2 iterasyon) siniflandirmak 1 dakika suruyor (Python/Tensorflow). Basit hesapla 65 GBlik convolution'li yapay agin ne kadar tutacagini dusunun

    Amazon AWS'in Cloud Big Data icin ozel kiraladigi servisler var. Microsoft'un kendi teknolojilerini forslayan bir urunu var adini tam hatirlayamadigim bu sizin isinize gelmez sanirim hadoop kullanacaksaniz. Google'in servisini de kullanabilirsiniz.

    edit: son paragrafi okumamisim kusura bakmayin.



    < Bu mesaj bu kişi tarafından değiştirildi KaramazovX -- 13 Nisan 2017; 21:10:59 >




  • Evet maliyet en önemli engel. Bulut işlem hizmeti de 2014'ten bu yana hiç kiralamadım. Kredi kartımda sürpriz yaşamak ta istemem, ekstreleri ancak ödeyebiliyorum.


    Aslında 4GB RAM'li laptop'ta Hadoop çalışıyor çalışmasına da fakat işte Java VM tüm kaynakların kökünü kazıyor. Aslında ilginç başka şey söyleyeyim: Kitapta ilk örnekte 100 yıllık meteoroji verilerini awk kullanan basit bir kabuk betiği ile hesaplıyor, onu laptop cok rahat çalıştırdı: 55 yıllık veriyi 845 saniyede hesapladı ancak aynı veriyi Hadoop ile JVM üzerinden yapınca 1000 saniyeyi geçti! Yani JVM de sorunun bir parçası : ) Yani aynı işlem klasik Unix araçları ile cok daha hızlı ve sorunsuz yapılabiliyor. Ancak tüm Big Data projelerinde JVM tabanlı şeyler kullanıldığı için bunun anlamı yok. Proje 6 aylık, 6 ay boyunca JVM ile çalışacağım.

    Ekleme: Evet öyle bir makinanın bavulda uygun şekilde sığması da zor.



    < Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 13 Nisan 2017; 21:25:8 >
    < Bu ileti mini sürüm kullanılarak atıldı >




  • aws fiyatlandırma olarak google'dan daha uygun. Ama geçenlerde sıkıntı çıkmıştı sunucularında, şu an ne durumda bilmiyorum.
    Şu an hesaplamadım ama kiralama genelde daha makul seçenektir, o kadar parayı bir makineye yatırmak biraz riskli gibi.

    awk vs hadoop meselesinde sanırım verileriniz dağıtık veri değil, dağıtık ve alakasız olmayan(boyutu da aşırı büyük olmayan) verilerde kabuk araçlarının daha hızlı sonuç vermesi normaldir, biraz da veriyi tanımakla alakalı. Sanırım paralel işleme işini kabuk daha etkili yapmış.
  • Aslında tavsiyem o kadar HDD vs RAM için bir sermaye ayırmaman. Bunun yerine sunucu kiralayabilirsin. Hadoop ve Spark destedği olan Azamason AWS EMR'i veya Azure 'i tavsiye edebilirim.

    https://aws.amazon.com/big-data/

    https://azure.microsoft.com/en-us/free/

    Öğrenmek amaçlı pahalı olmasa bende Azure 'yi alacaktım ama işte Microsoft ve dolar kuru...




  • Eger tutorial amacli ise yalnizca bence hic gerek yok. Daha ufak bir dataset ile calis. Kaggle'a bakabilirsin bu konuda. https://www.kaggle.com/
    Eger daha ciddi bir proje ise zaten bu donanimi senin toparlaman gerekmemeli ?
    Bir de spark'in zaten distributed konfigurasyonu kolay, 1 tane godzilla makine yerine distributed clusterlarda calistirarak da cozulebilir diye dusunuyorum.
    Tabi bu dediklerimin hepsi data-set'e ve yapilacak isin dogasina gore degisiyor.
    ECC RAM kullanma konusunda haklilar, prod sistemlerde zaten aksi dusunulemez ama basit bir ECC ram fiyati bile Turkiye fiyatiyla 800 liradan basliyor. Daha gecen gun 8GB ina bakmistim.
    Spark scalability konusunda cok basarili, o yuzden yeterince cluster varsa aslinda RAM'den ziyade cekirdek sayisi onem kazaniyor.
    AMD nin Opteron islemcilerini ucuza bulma sansin var aslinda ebay'den, bilgisayar toplamak icin zaman olmamasina ragmen zevkine 32 cekirdek eski nesil bir Opteron bulabilirsin ebay'de : )
    Biraz fantazi tabi.
    Ben olsaydim ve bu isi yapmak zorunda olsaydim kendi donanimimla, AWS'den yururdum. Bence en makul tercih bu.
    Eski laptoplarima gozum gibi baktigim icim evde su anda 5 tane laptop var, distributed data process i yapmak spark ile mumkun oluyor eski hardware ile de.
    AWS hesabim var ama multi-purpose server benimki. Data science icin evdeki seti kullaniyorum ama zaten oyle ahim sahim isler yapmiyorum. Master tezi icin yaptigim seyler hepsi ama yetiyor.
    Yukarida bir arkadas Azure'dan bahsetmis ama ben AWS nin daha basarili oldugunu dusunuyorum, cok flexible paketleri var.

    < Bu ileti tablet sürüm kullanılarak atıldı >




  • Kitapta o konfigürasyonda bir makina için yazar "commodity hardware" diyor bir de; high-end hardware dese ne olacak kim bilir.



    assembly_bilmeyenassembler, Veriler dağıtık değil, cunku Hadoop'u pseudo-distributed modda çalıştırdım yani bir Node (proses ismi namenode, secondary namenode ve datanode) ve resource manager ve node manager (YARN) şeklinde hepsi tek laptop'ta çalışacak şekilde. ikinci bir makinaya kurup fully distributed modda da calıştırabilirdim ancak hem projeye başvururken zaten eksik olan Big Data tecrübelerimde öyle birşeye gerek yok hem de ikinci bir makinada en az 2GB RAM ve 3-5GB HDD yer açmam biraz zor olacaktı, diğer makinalarım da RAM ve HDD kısıtlı cunku.



    Sonuçta dediğin gibi tek makinada old için kabuk betiği sular seller gibi rahat calıştı. Ancak projeler hep JVM üzerine.



    Dentrax, amazon AWS'nin ücretsiz seceneği de var gözüküyor bağlayıcı birşeyi yoksa bir deneyebilirim. Bulut işlemden uzun süre uzak kaldım.

    < Bu ileti mini sürüm kullanılarak atıldı >




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • Mephalay, tam tutorial sayılmaz, y.dışındaki bir Big Data projesine yanıt vermeden önce CV'me en azından temel bir faaliyet eklemek için O'Reilly'nin kitabındaki örneği çözerken yaşadığım durum.



    Hadoop ile örnek uygulamayı laptopumda çalıştırdım ancak bu yetersiz ; biraz daha güzel bir uygulama yapıp CV'me eklemek isterim ; bu aşamada Laptop'un çok kastığını fark edince ve özelikle kitaptaki commodity hardware denilen ancak aslında high-end hardware konfigürasyonunu görünce konuyu açayım dedim. Medya oynatıcı olarak kullandığım 2010 Mac mini var 3GB DDR3 RAM ve 80GB HDD onu 2. makina olarak ayarlasam mı diye düşünmeye başladım şimdi.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Bence ayarlayabiliyorsan 2. cluster'i daha guzel olur. Cunku zaten BigData nin dogasinda clusterlarda process edilmek var.
    Ama ben kitapta commodity hardware dedigi seyin standart developer laptopunu bu kadar kastirmasini anlayamadim. Spark Dokumentasyonuna gore 32GB alti icin biraz Fine Tuning yapmak gerekiyor.
    http://spark.apache.org/docs/latest/tuning.html

    Buradaki JVM Flagleri ile oynayip belki daha az kastirir hale getirebilirsin ama zaten process ederken datayi tum cekirdeklere yayacak. Yani RAM kastirmasa CPU kastiracak, yapacak bir sey yok.
    Bir de eger Python ile yazmayi dusunursen daha onceki mesajda yazdigim kaggle'daki data setleri incelemeyi ve cozumleri jupyter notebook olarak githubda paylasmayi dusunebilirsin. Data Scientist/Analyst arayan firmalar seviyorlar bu sekilde populer datasetlere getirilen cozumleri. Referans olarak kitaptan daha iyi durabilir belki ama tabi sen bilirsin : )

    < Bu ileti tablet sürüm kullanılarak atıldı >




  • Mephalay M kullanıcısına yanıt
    Aynen 2. bir makina eklemek bu işin normali. Bu arada eklenen 2.makina için mi cluster dedin? cluster bir grup makinaya verilen isim diye biliyorum ki o gruptaki makinalar da big data jargonunda "node" adıyla geçiyor; ben de yeni öğrendim ve belki ben de yanlış biliyor olabilirm. Cluster 2000'erin başında daha cok duyulan 'server farm' deyimini hatırlatıyor. 2010 Mac mini speklerine bakınca EFI güncellemesi ile 16GB RAM'e kadar çıkabiliyormuş; ona el atma ihtimalim yüksek.



    JVM flagleri ile en son 512MB RAM'li eski Mac mini'de bir Java framework 'u calıştırmak için oynamıştım (parasızlığın gözü kör olsun :) Python imkanları güzel fakat big data 'da Scala ağır basıyor. Dün gece yine O'Reilly'nin Learning Spark kitabına başladım, onda kod örnekleri Python ve Scala, geçen sene bir Scala tutorialına bakmıştım; cok mantıklı bir dil, yani kendi içinde çok sağlam bir mantığı var o sayede öğrenmede güçlük yaşamadım. Big data işlerinde Python yerine Scala istemeleri o yüzden cok sorun değil.Jupiter Notebook'u 2 sene önce duymuştum kendi alanında cok kullanılan birşey, ancak o benim için yeni bir faaliyet alanı; öğrenip ısınmam biraz zaman alabilir o yüzden kodlarımı github ta yayınlarak devam ederim, bu big data işi için de zaten örnek çalışmalarımı github'ta yayınlayıp tanıttım.

    < Bu ileti mini sürüm kullanılarak atıldı >




  • quote:

    2.makina için mi cluster dedin? cluster bir grup makinaya verilen isim diye biliyorum ki o gruptaki makinalar da big data jargonunda "node" adıyla geçiyor; ben de yeni öğrendim ve belki ben de yanlış biliyor olabilirm


    Yok, sen dogru biliyorsun. Node olmasi gerekirdi, ben yanlis kullanmisim.

    Cluster'a 2. makineyi eklemekten bahsederken, 2. cluster yazmisim.

    Scala konusunda bilgim sifira yakin acikcasi, ama pythoni cok kullaniyor insanlar, ozellikle akademik islerde. Ya da benim cevrem bu sekilde bilemiyorum. Genelde R, Python, Matlab 3 lusu ile takiliniyor.

    < Bu ileti tablet sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.