10 Mart 2016 Perşembe

Big Data Organizasyon Yapısı - 2


Merhaba,
Bu yazıma başlamadan önce şunu belirtmek isterim ki; bu sohbet babındaki yazılarıma ek olarak eski yazılarımda olduğu gibi teknik konular hakkında da yazmaya ve kapsamlı örnekler vermeye devam edeceğimi söylemek isterim.
Örneğin bir önceki yazımda belirttiğim:
“””sosyal medyada firmamız hakkında ne düşünülüyor?
Dün gösterime girilen reklam veya çıkılan kampanya, sosyal medyada nasıl bir etki yarattı? Rakip firma hakkında sosyal medyada ne konuşuluyor? “””
kısmıyla ilgili sizlerin de yapabileceği PoC babında bir örnekler dizisini anlatmak istiyorum.  
Kendi eğitim dökümanlarında detaylı şekilde verdiğim bu baştan aşağıya örneği kısa kısa anlatıp sizlerin de yapabilecek duruma gelmenizi çok arzu ederim.
PoC şeklinde yapacağımız bu çalışmayı kullanarak aslında çok kısa bir sürede kendi sosyal medya platformunuzu yazabilirsiniz.
Yani twitter verilerini kendi keywordlerimiz ile dinleyip, hadoop ortamına atıp, hive ile sorgulayıp, flume ile verileri alıp, hive odbc ile java swing uygulaması yazıp, java swing bir desktop uygulama yapıp ve bonus olarak bir cep uygulaması yazıp (firmanız hakkında bir twit yakalayıp içinde mesela şikayet ifadesi geçiyorsa mail olarak size atılmasını, hızlı bir aksiyon alınmasını vs. )  baştan sona  sizlerle paylaşacağım.
Bu örnek çalışmamız için önerisi olan varsa lütfen geri bildirim yapabilirse elimden geldiğince ilerlemek isterim.

Asıl blog konumuza devam edelim.

İlk Sorumuz : Sektöründe öncü bir  firmamız için (aslında bu ifadenin herkes tarafından sinir bozucu olduğunu sanıyorum) J bir big data departmanı – müdürlüğü – birimi kurmak istiyoruz. Acaba hangi title’ a sahip insanlar alalım?
Not : Bunlardan  son zamanlarda adı çok geçen data scientist ‘ den ayrı bir parantez olarak eleştirilerim ile birlikte daha sonra ki blog yazılarımda söz etmek isterim.

Big data organizasyon yapısında title’ lara baktığımızda temelde benim bildiğim 5 adet bulunmaktadır.
·         Hadoop Analyst
·         Hadoop Developer
·         Hadoop Admin
·         Hadoop Architect
·         Data Scientist
Yani kurumunuzda bir big data müdürlüğü – departmanı - birimi vs. kurmak istediğinizde min 5 kişi ile işi yürütmeniz gerekebilir.  
Bir de bunlara bir müdür atamak gerekecektir tabi ki!  J
Ama gerçekler bu şekilde olmuyor tabi ki.  Yani “””hayaller big data departmanı gerçekler tek başına işi yürütmeye çalışan mühendis arkadaş””” diyelim.
Genelde benim gördüğüm bir departmanda bu işlere gönül vermiş, bir şeyler öğrenmeye çalışan deneyimli bir mühendis arkadaşa:
“”””Sen hadoop tarafına da bak,
Mevcut işlerine ek olarak hadoop’ tan da sorumlu ol,
Hadoop makinaların 7/24 çalışır durumda kalmasını sağla  “””
vs.vs.  şeklinde bir organizasyonsuzluğa gidilir. (Sizler de tahmin edebileceğiniz gibi buradaki iş listesi artırılabilir tabi ki.)

Bunu kötü anlamda bir eleştiri olarak vermek istemiyorum.  
Eleştirmek her zaman kolaydır.
Zaten bu blog konusunu bu nedenle yazmak istedim.
Konuyu hep birlikte tartışmak isterim.
Maalesef haklı olarak firmaların ve yöneticilerin imkânları bu şekildedir.
Kaynak ve imkân yetersizliğinden dolayı da belki olması gereken de bu olabilir.
Tek taraflı bakmamak gerekiyor yani olaya.
Yöneticilere verilen bütçenin belki az olması, big data konusundaki projelerdeki belirsizlikler, bu konuda gerçek bilgiye sahip çalışma arkadaşları bulmanın çok zor olması, getirisinin çok uzun vadede olacağının düşünülmesi, big data’ yı daha yöneticilerin bilmemesi, yeterli kaynak sağlamaması, big data konusunda güzel uygun yönetilebilir ve kullanılabilir use case üretilemesi vs.vs. sebeplerinden risk faktörünü en aza indirmek için tek kişi ile gidilmesi doğru olabilir.
Zamanla ülkemizde de big data projelerin artması ile bu projeleri hayata geçirmek için hadoop’ çu olarak çalışan mühendis arkadaşımızın yanına bir linux ve hadoop admini, bir developer, vs. vs. eklenecektir.
Benim şahsi tecrübem bu güne kadar tüm projelerimde pentatloncu olarak çalıştım. Bu spor ifadesini çok kullanırım. Bir pentatloncu aynı yarış içinde yüzer, binicilik yapar, atlar , zıplar, koşar, atıcılık yapar vs.vs.
Benim ve meslekten yakın arkadaşlarım da durumumuz hep böyle olmuştur. Hemen hemen tüm projelerimde, hem program yazıp, hem programın analizini yapıp, database dizaynını yapıp, eğitimini verip, müşterisi ile konuşup, vs. vs. işlerini sizler de yapmışınızdır.

Yurtdışında saçı sakalı beyazlamış torun sahibi insanların kod yazmaya devam ettiklerini hepimiz biliriz. Ama ülkemizde durum çok farklı tabi. 
Konuyu çok dağıtmadan hadoop’ çu mühendis arkadaşta aslında tipik bir pentatloncudur.

İkinci Sorumuz : Peki bu  hadoop' cu mühedis arkadaş neler bilmelidir?

Baştan yazayım. Değerli bir arkadaştır J guru' dur yani.  Ya 5 adet kendi domaininde uzmanlarla çalışacaksınız ya da bu guru mühendis arkadaşları bulup onunla çalışacaksınız. Böyle mühendis arkadaşlar koruma altına alınmalı sevilmeli, sayılmalı ve imkanlar sunulmalıdır.

·         Sistem bilgisi iyi olacak. (Linux - unix - shell yazacak - hataları ve sistemi ayakta tutacak vs. sistemci olacak yani )
·         Veri tabanı ve veri ambarı bilgisi olacak (Hiç değilse bir rdms bilecek. Veri ambarı projelerinde bulunmuş olacak. )
·         Etl-elt bilecek.  (veri en iyi nasıl aktarılır, nasıl beslenir, nasıl optimize edilir, nasıl incremantal atılır, büyük veri aktarımları vs.vs. )
·         Real time veri işleme bilecek. (cep vs. ) queue programlama bilecek.
·         3 veri tipiyle de yoğun çalışmış olacak (structure - unstructure - semi structure vs. vs. ) doküman bazlı verilerde çalışmış olacak.
·         Birkaç noSql bilecek (Hbase mesela. Mantığını vs. bilecek.)
·         Kodlaması iyi olacak. (Java bilecek. Algoritma bilgisi ve kod yazma bilgisi mantığı iyi olacak )
·         Hadoop veya big data bilecek.  Kuracak, sistemi başlatacak, yönetecek, table yapılarını çıkarak, veri aktarımı nasıl olması lazım bilecek  vs. vs.
·         Üzerinde çalıştığı domain bilgisi iyi olacak. Bankacılıkta çalışıyorsa kavramları bilecek. Veri tabanını ezbere bilecek. Ya da telco da çalışıyorsa telco domain bilgisi.
·         Domain bilgisi olursa data scientist olacak.
·         3V dışında son 4. V olan kısmında (value - değer üretme ) gerekirse istatistik bilgisi -  sas - spss - R vs. ile analitik tarafı da olacak.
·         Analitik tarafını sunması için grafik okuyabilecek ve rapor yapabilecek. (bir rapor tool’ u iyi şekilde bilecek)
·         Distributed çalışma ve computing iyi bilecek.
·         vs.vs.


Hadoop tarafında ise aşağıdaki konularda bilgi sahibi olması gerekir. Aşağıdaki tabloda yarı yarıya bilgi sahibi olması iyi olur. Bir tablo halinde paylaşayım.

HADOOP
HBASE
HDFS
PİG
SQOOP
HİVE
HCATALOG
Zookeeper
SOLR
FLUME
Cluster Yapı
KAFKA
IMPALA
AMBARİ - CLOUDERA MANAGER vs.
SPARK
SPARK STREAMING
JAVA  MAPREDUCE
OOZIE
HYPERTABLE
Hadoop Security
Knox –Kerbelos vs.
FALCON
STORM
R
ETL (PENTAHO İNFORMATİCA , SH  vs)
CLOUD - AWS REAL EXAMPLE (cloud bilgisi + bir değer olur)

Eminim sizler bu maddeler ek olarak birkaç tane daha ekleyebilirsiniz.

Acaba yukarıdaki özellikleri kim sağlar?
Siz de var mı?
Bu işte iyiyim diyorsanız dürüstçe tüm maddeler için kendinize not verin!
Bunları teknik insanlar bilmeli bu benim işim değil demeyin.
Satış işi yaparken bile yukarıdaki maddeler hakkında bilgi sahibi olmalısınız.
Bilmediğin şeyi satmak zordur. Yoksa ppt ile sunum ötesine geçemezsiniz.

Aslında bu satış işi için bile blog yazma fikrim var. Konu o kadar uzun ki. Ve o kadar çok hatalar var ki.


Bazen bu sektörde bir iki yıllık deneyimli mühendis arkadaşlar “Ben sadece rapor yapmak istiyorum. Kod yazmam. Ya da ben sadece analiz tarafta bulunmak istiyorum kod yazmam, database bakmam diyebiliyorlar. Favorim ise  : “Ben bu sene proje yöneticisi gibi olayım ne kod yazayım ne analiz yapayım ne rapor yapayım etl yapmayayım. Seneye de müdür olayım sizleri yöneteyim.”” J olanı.

Baştan belirtmiştim. Hadoop’ çu mühendis arkadaş değerli bir arkadaşımızdır. Çünkü yukarıda yazdığım gibi elini kirleten tam bir pentatloncudur.

Sizin big data organizasyonunuz nasıl? Piyasada 4-5 kişilik ekip kuran büyük firmalar olduğunu ve projeler gerçekleştirdiklerini biliyorum. Benim bildiğim 3 tane var mesela. Ama maalesef her firma bu firmalar gibi şanslı olamıyor tabi. Yani imkânlar her yerde geniş değil.
Fakat her yerde big data grubu ayrı bir müdürlük – birim – departman değil de veri ambarı-data warehouse-veri yönetimi birimi altında konumlandıklarını gördüm.

Sizin firmanızda ki yapılanma nasıl?
Ya da nasıl bir yapılanma planlıyorsunuz?


Bugünkü blog yazımız bu kadar.
Bir sonraki blog yazımda görüşmek dileğiyle.

Lütfen, yorumlarınızı bekliyorum.


mmetin

http://tr.linkedin.com/in/muratmetin



Hiç yorum yok:

Yorum Gönder