Veri Bilimi Okulu

BG9: Sanal Makineleri Kopyalama ve Parolasız (Passworless-SSH) Bağlantısı

Loading

Baz şablon sunucu hazırlandıktan sonra bunu cluster planındaki sunucu sayısı kadar çoğaltıyoruz. Benim planımda 6 sunucu kurmak vardı, o yüzden 6 tane kopyaladım. Bu yazıda kopyalanmış sunucuların içine tek tek girip ip ve hostname değişikliği yapacağız. Tek tek yapmak ip çakışmasını önlemek için önemlidir. Sonrasında sunucular arasında passwordless-ssh kuracağız. Passwordless-ssh Ambari ile yapılan kurulumlarda büyük […]

BG10: Hadoop Cluster Planı

Loading

Hadoop clusterında bulunacak servislerin sunuculara dağıtımına cluster planlaması diyoruz. Hangi servis hangi sunucuda çalışacak, master nodelar hangileri, slave nodelar hangileri, edge server hangisi olacak, meta data tutan ilişkisel veritabanlarını nereye kuracağız, local repository nerede olacak bunların planlamasını bu aşamada yapıyoruz. Aşağıdaki şekilde plana göz atılabilir. Şeklin anlaşılır kılmak adına ayrıntılara yer vermedik. Biz burada basit […]

BG11: Edge Server Hazırlama (httpd ve pssh)

Loading

Şimdiye kadar cluster planımızı yaptık, birbiriyle haberleşen 6 sunucu hazırladık. Cluster planımızda node3’ü edge server olarak belirlemiştik. Bu yazımızda edge serverı clusterı kurmaya yönelik olarakApache httpd servisini ve paralel ssh (pssh) kurulumu yapacağız. 1. Paralel ssh Kurulumu ve Kullanımı Cluster kurulumunda veya yönetiminde sunucularımıza birçok işlem yapıyoruz. Her sunucuya tek tek bağlanıp bu işlemleri yapmak çok […]

BG12: Local Repository Kurulumu

Loading

1. Giriş Lokal respository kurum ve şirketler tarafından sıklıkla kullanılır. Lokal repository sayesinde kullanıcı bilgisayarları veya sunucular genel internetten karşıladığı paket yükleme, güncelleme vb. işlemleri kurum/şirket lokal repositorysinden karşılar. Böylelikle yüzlerce, binlerce bilgisayarın internetten tek tek yapacağı işi, bir sunucu bir kere yapar ve geniş alan ağ trafiği azaltılmış olur. Lokal repository kullanımına zorunlu hale […]

BG13: Ambari Kurulumu

Loading

Cluster planında Ambari/Edge Server olarak belirlediğimiz node3 sunucusuna bağlanıyoruz. Kurulumdan kastım; tarayıcıda http://node3.datalonga.com:8080 yazdığımızda karşımıza Ambari arayüzünün çıkmasını sağayacak herşeydir. Bu kurulum 3 aşamada olacak: Ambari Yükleme Ambari Kurma Ambari Çalıştırma 1. Ambari Yükleme (İşin Türkçesi Install Ambari ) O kadar hazırlık yaptık değil mi? Şimdi bir komutla yükleyelim artık. yum -y install ambari-server diyoruz […]

BG14: Ambari ile Cluster Kurulumu

Loading

Şimdiye kadar Ambari Server kurduk. Artık Ambari ile Hadoop cluster kurabiliriz. Çalışmıyorsa Ambari Server’ı çalıştıralım. node3 sunucusundan ambari-server start komutuyla çalıştıralım. Daha sonra tarayıcıdan http://node3.datalonga.com:8080 adresine gidelim ve Ambari’de admin/admin ile oturumu açalım. Launch Istall Wizard butonuna basalım ve cluster kurmaya başlayalım. 1. Cluster’a İsim Verme İlk adımda cluster’a isim veriyoruz. Ben keraban verdim. 2. Versiyon Seçme […]

Spark Dataframe Operasyonları-1: İndeks Ekleme ve Sütun Sırasını ve Türünü Değiştirme

Loading

Merhaba, bu yazımızda veri ön hazırlığı aşamasında veri yüklerken, Spark Dataframe oluştururken, dataframe şekillendirirken, onu dönüştürürken, dataframe üzerinde veri keşfi yaparken vb. işlemler için kullandığım örnek uygulamaları paylaşacağım. Basit bir yazı olacak ancak bunu önemsiyorum, çünkü birçok insan veri yükleme ve veri hazırlığı esnasında sorun yaşıyor. Spark 2.0 sürümüyle birlikte Spark dataframe API’ye daha fazla […]

Apache Spark2 Dataframe Tarih Saat İşlemleri

Loading

Merhaba, bu yazımızda Spark Dataframe tarih-saat için kullandığım bazı işlemleri paylaşacağım. Tarih saat işlemlerinde format dilden dile, ülkeden ülkeye ve kültürden kültüre biraz farklı olduğu için sık sık düzeltme ve dönüştürme yapmak gerekir. Örneğin bizde gün/ay/yıl kullanımı yaygın iken bazı ülkelerde /ay/gün/yıl kullanımı yaygındır. 03/07/1999 tarihini örnek alalım: Bu 3 Temmuz mu, yoksa 7 Mart […]

Apache Spark SQL: CSV Okuma, Şema Oluşturma, Dataframe Üzerinde SQL Sorguları (Scala)

Loading

Merhaba, bu yazımızda Spark Dataframe oluştururken ve dataframe üzerinde veri keşfi yaparken kullandığım bazı işlemleri paylaşacağım. Basit bir yazı olacak ancak bunu önemsiyorum çünkü birçok insan veri yükleme esnasında sorun yaşıyor ve bir sürü zaman kaybediyor. Daha önce de buna benzer yazı yazmıştım ancak o zaman Spark1 kullanmıştım. Artık Spark2 var. Spark 2.0 sürümüyle birlikte […]

Linux Yetkilendirmeler (Linux Permissions)

Loading

Hepimiz Linux kullanırken permission denied gibi hatalar almışızdır. Bu tür hataları çözmek veya hataya baştan düşmemek için Linux’un kullanıcı, grup, sahiplik (owner) ve file mode kavramlarını iyi anlamalıyız. Bu yazımızda dosya modu (file mode) kavramı ve chmod ile file mode nasıl düzenlenir onu ele alacağız. Sonrasında örnekler yapacağız. Linux dünyasında bir kullanıcı bir dosya veya […]

Sık Kullanılan Linux Komutları: grep ve wc

Loading

Atatürk’ün bilim ile ilgili söylemiş olduğu sözlerden derleme yaparak bir metin dosyası içine topladık. Bu yazımızda kullanacağımız komutları bu örnek dosya üzerinde yapacağız. erkan@vm:~/lnx_kmtlari\$ nano ataturk_bilim_sozleri.txt Bilim ve fen nerede ise oradan alacağız ve ulusun her bireyinin kafasına koyacağız. Hayatta en hakiki mürşit, ilimdir. Her işin esas hedefine kısa ve kestirme yoldan varmak arzu edilmekle beraber, yolun […]

Sık Kullanılan Linux Komutları:Kopyalama, Taşıma ve Silme

Loading

Serinin bu yazısında temel linux komutlarından kopyalama, taşıma, silme işlemlerini göreceğiz Aynı anda birden fazla dizin yaratma erkan@vm:~\$ mkdir dir1 dir2 dir3 erkan@vm:~\$ ls -l total 191140 drwxrwxr-x 2 erkan erkan 4096 Eyl 16 07:07 dir1 drwxrwxr-x 2 erkan erkan 4096 Eyl 16 07:07 dir2 drwxrwxr-x 2 erkan erkan 4096 Eyl 16 07:07 dir3 Linux […]

Sık Kullanılan Linux Komutları: Genel Bilgiler

Loading

Kendim sıkça kullandığım Linux komutlarını bu yazıda derleyeceğim. Umarım sizlere de faydası dokunur. Komut satırında shell promptun solunda \$ varsa kullanıcı, # varsa superuser demektir. erkan@vm:~\$ exit exit root@vm:/home/erkan# Harddisk doluluk durumunu görmek için:df root@vm:~# df Filesystem 1K-blocks Used Available Use% Mounted on udev 1995360 0 1995360 0% /dev tmpfs 403528 11456 392072 3% /run […]

Bir Bakışta K-Fold Cross Validation

Loading

K-Fold Cross Validation, sınıflandırma modellerinin değerlendirilmesi ve modelin eğitilmesi için veri setini parçalara ayırma yöntemlerinden biridir. Bu yazımızda k-fold cross validation (k sayısı kadar çapraz doğrulama) yöntemini anlatmaya çalışacağım. Elimizde bin kayıtlık bir veri seti olsun. Biz bu veri setinin bir kısmı ile modelimizi eğitmek, bir kısmı ile eğittiğimiz modelimizin başarısını değerlendirmek istiyoruz. Basit yaklaşım; […]

Apache Oozie’yi Oluşturan Unsurlar

Loading

Bu yazımda Apache Oozie’yi oluşturan temel kavramlar ve bunlar arasındaki ilişkiden bahsedeceğim. O’Reilly tarafından basılmış Apache Oozie kitabının bu bölümünü okuyorum. Onu okurken aldığım notları sizinle paylaşacağım. Kitap, Mohammed Kamrul Islam ve Aravind Srinivasan adlı Oozie projesinde de görev almış iki yazar tarafından kaleme alınmış. Giriş Yahoo’da Hadoop kullanılmaya başladıktan sonra Hadoop görevleri daha karmaşık […]

Apache Oozie ile MapReduce Görevi Çalıştırma

Loading

Apache Oozie’ye daha önce basit bir giriş yapmış ve küçük bir java uygulamasını çalıştırmıştık. Bu yazımızda examples dosyası içindeki MapReduce görevini başlatacağız.  examples klasörünü bulmayı ve lokal dizinde bir yere kopyalamayı şu yazıya bırakarak atlıyorum. Aşağıdaki kodlarda önce pwd bulunduğum dizine bakacağım ve sonra map-reduce örneğinin bulunduğu dizinin içini listeleyeceğim. [cloudera@quickstart ~]\$ pwd /home/cloudera [cloudera@quickstart […]

Apache Oozie Nedir? Nasıl Kullanılır? Örnek Java Uygulaması Bölüm-3/3

Loading

İkinci yazımızın hemen ardından Apache Oozie yazımızın üçüncüsüne devam ediyoruz. Yazı uzayınca hafıza körelmiş olabilir Önce hangi dizindeyiz pwd ile bakalım: [cloudera@quickstart java-main]\$ pwd /home/cloudera/oozie_ornekler/examples/apps/java-main Job.properties dosyasını düzenlemek Şimdi nano editörü ile job.properties dosyasının içine girip değişikliklerimizi yapalım. (Siz vi, vim vb. başka editör kullanabilirsiniz) [cloudera@quickstart java-main]\$ sudo nano job.properties nameNode=hdfs://quickstart.cloudera:8020 jobTracker=quickstart.cloudera:8032 queueName=default examplesRoot=examples oozie.wf.application.path=\${nameNode}/user/\${user.name}/\${examplesRoot}/apps/java-main Beşinci […]

Apache Oozie Nedir? Nasıl Kullanılır? Örnek Java Uygulaması Bölüm-2/3

Loading

Oozie yazı dizimizin ikincisine devam ediyoruz. İlk yazıda Oozie hakkında bilgi vermiş, Oozie servisini başlatmış ve examples dosyasını incelemiştik. Şimdi java main örneğini uygulayalım. Bakalım java-main dizini altında neler var neler yok: [cloudera@quickstart oozie_ornekler]\$ cd examples/apps/java-main/ [cloudera@quickstart java-main]\$ ls -ltr total 12 -rw-r–r– 1 1106 4001 1631 Mar 23 2016 workflow.xml -rw-r–r– 1 1106 4001 […]

Apache Oozie Nedir? Nasıl Kullanılır? Örnek Java Uygulaması Bölüm-1/3

Loading

Oozie nedir? Ne işe yarar? Hadoop sistemindeki yeri nedir? Hadoop en yaygın büyük veri platformu olarak piyasadaki öncülüğünü devam ettirmektedir. Hadoop ekosistemi sürekli büyümekte ve yeni ihtiyaçlar için yeni projeler ortaya çıkmakta mevcut projeler ise sürekli iyileşmekte ve gelişmektedir. Apache Oozie sürekli büyüyüp gelişen bu sistemde, yerine getirdiği rol ile önemini korumaktadır. Çünkü sistem büyüdükçe […]

Varyans, Kovaryans ve Standart Sapma Nedir? Örneklerle Açıklama

Loading

Bu yazımda istatistiğin temel kavramlarından varyans, kovaryans ve standart sapmadan bahsetmek istiyorum. Formal bir istatistik eğitimine sahip olmayan biri olarak bu kavramları anlamakta zorlanmıştım, şimdi de ne kadar anlıyorum o da ayrı bir konu. Böyle basit kavramlardan bahsetme amacım, benim gibi öğrenme güçlüğü çeken insanların konuyu örneklerle rahatça anlayabilmelerini sağlamak. Mesela bir seri diyeceğiz birazdan, […]