IntelliJ IDEA ile Apache Spark Projesini Uzak YARN Cluster Üzerinde Çalıştırmak-2/2

Merhaba. Yazı serimizin ikincisine devam ediyoruz. Bir önceki ilk yazımızda konuya giriş yapmıştık. Hatırlayalım, amacımız Spark uygulamasını Windows bilgisayarımızda kurulu IntelliJ ile uzak hadoop cluster üzerinde geliştirmekti. IntelliJ ile devam ediyoruz. 4. IntelliJ Spark Uygulaması: Maven Projesi Oluşturmak Şimdi uygulamamızı yazmaya başlayacağız. Bunun için IntelliJ’i başlatalım. Intellij üzerinden yeni proje (Create New Project) diyoruz. Bir […]

Apache Spark ile Parquet Formatında Veri Okuma (Python)

Merhaba bu yazımızda parquet uzantılı bir dosyanın pyspark ile nasıl okunacağını göreceğiz. Bu yazıyı yazmamızın sebebi pyspark ile parquet dosyası okumanın, standart dataframe API’si ile csv gibi yaygın formatları okumaktan farklılık göstermesidir. Bu çalışma esnasında kullandığım ortamlar: İşletim sistemi: Windows 10 64 bit Pro IDE: Jupyter Notebook (Anaconda ile kuruldu) Spark 2.3.1 Dil: Python 3 […]

Apache Spark ile Parquet Formatında Veri Yazma ve Okuma (Scala)

Merhaba. Bu yazımızda Apache Spark ile csv uzantılı bir veri dosyasını okuyup parquet uzantılı olarak diske kaydedeceğiz ve kaydettiğimiz parquet dosyasını tekrar Spark ile okuyacağız. Spark, birçok formatta veriyi okuyup yazabiliyor. Parquet, csv dosyalarına göre daha az yer kapladığı gibi okuma performansı da daha yüksek. Ayrıca okuma yaparken inferSchema veya header gibi ilave seçenekler kullanmıyoruz. Bu bilgiyi parquet formatından […]

Spark Dataframe İçindeki Kategorik Nitelikleri Otomatik Olarak Seçmek

Merhaba. Spark dataframe ile çalışırken zaman zaman içindeki kategorik değişkenleri seçeriz. Özellikle makine öğrenmesi öncesinde veri hazırlığı aşamasında bunu mutlaka yapmalıyız. Çünkü kategorik nitelikler veri hazırlığı sürecinde stringIndexer, OneHotEncoder gibi daha farklı aşamalardan geçer. Bu yazımızda Spark dataframe içindeki nitelikleri kategorik ve nümerik olarak ayırt eden ve iki farklı liste içinde bunları toplayan spark kodlarını yazacağız. […]

Apache Spark DataFrame İçinden Değerlere Ulaşmak

Merhabalar. Bu yazımızda Apache Spark Dataframe içindeki tekil bir değeri basit veri türünde (Int, Double vb.) nasıl elde edeceğimizi bir örnek ile göreceğiz. Benim yaptığım çalışma esnasında kullandığım ortam bilgileri: İşletim sistemi: Windows 10 64 bit Pro IDE: Intellij IDEA Community Edition Spark 2.3.1 Dil: Scala Kütüphaneler import org.apache.spark.sql.SparkSession import org.apache.log4j.{Logger, Level} Log Seviyesini ERROR […]

Spark Dataframe&Dataset Operasyonları-2:

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 spark yapısal API operasyonlarından faydalı bulduklarımı paylaşacağım. Görkemli ve haşmetli makine öğrenmesi, derin öğrenme ve yapay zeka modelleri ile kedileri ve köpekleri ayırmak dururken bu tür basit işlerle niye uğraşıyorsun […]

Apache Spark ile Artık İdeal Küme Sayısını Bulmak Daha Kolay

Bildiğimiz gibi makine öğrenmesinde öğrenme yöntemleri genel olarak denetimli (supervised) ve denetimsiz (unsupervised) şeklinde ikiye ayrılıyor. Denetimli yöntemlerde sınıflandırma ağırlık kazanırken denetimsiz yöntemlerde ise kümeleme öne çıkmaktadır. Sınıflandırmada veri içinde etiketlenmiş bir hedef değişken bulunurken kümelemede ise herhangi bir hedef  değişken bulunmaz. Bu nedenle kümeleme daha çok veri içindeki nesnelerin doğal gruplanmalarını ortaya çıkarmaya yöneliktir. […]

Windows 10 Spark-2 Kurulumu

Apache Spark büyük veri analizinin en önde gelen platformu olarak popülerliğini ve önemini gittikçe arttırıyor. Bir çok insan Spark’ın bu değerini farkettiğinden Spark öğrenmeye başlıyor. Birçok kullanıcının bilgisayarında Windows işletim sistemi kurulu. Spark’ı Windows işletim sistemi üzerine de kurarak kullanabiliriz. Ancak bu hususta çok detaylı bir kılavuz olmadığından bir çok Spark öğrencisi Windows üzerinde Spark […]

Apache Spark 2.3.0 OneHotEncoderEstimator: Scala Örnek Uygulaması

Apache Spark 2X’e geçtikten sonra dördüncü sürümünü genel kullanıma sundu. Son sürüm 2.3.0. Bu sürümle birlikte gelen bir çok yenilik arasında MLlib kütüphanesindeki OneHotEncoderEstimator da yer alıyor. Bu sınıf, makine öğrenmesinde veri hazırlığı aşamasında kategorik niteliklerin vektör haline getirilmesine katkıda bulunuyor. Eskisinden farkı; sınıf Transformer’dan Estimator’a dönmüş. Anlaşılabilecek değişiklik; eski sürümde nitelikleri tek tek girdi olarak […]

Çoklu Doğrusallık Sorunu Çözümünde VIF

[latexpage] Çoklu regresyon analizinde bağımsız niteliklerin bağımlı nitelik üzerindeki etkisi incelenir. Bazı bağımsız nitelikler birbirleriyle yüksek doğrusal korelasyona sahip olduğundan bağımlı değişken üzerindeki etkisi dağılır. Modelin sadeliği va anlaşılırlığı adına bağımlı değişkene en çok etki eden az sayıda değişken ile model oluşturmak arzu edilen bir durumdur. Küçük veri analizinde kullanılan SPSS gibi paket programlar çoklu bağlantı tesptini […]

Apache Spark ML Kütüphanesi: Pipelines Örnek Uygulama

1. Giriş Merhabalar. Bildiğimiz gibi Spark, büyük veri dünyasının en popüler analitik motoru. Özellikle durağan büyük boyutlu veriler (persistent data) üzerinde hızlı bir şekilde makine öğrenmesi algoritmalarını çalıştırabilmesi Spark’ı farklı kılan özelliklerin başında geliyor. Arkadaşımız o kadar yetenekli ki sadece durağan verileri işlemiyor, aynı zamanda akan verileri de işleyebiliyor. Spark’ın makine öğrenmesi için bir kütüphanesi var. […]

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

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 […]

Pandas Dataframe’i Hive Tablosu olarak Hadoop’a Kaydetmek

Sıkı durun uzun bir yazı olacak! Böyle bir macera ilk defa başıma geldiğinde çok zordur bu iş diyordum ancak öyle çok korkulacak bir şey olmadığını işi yaptıktan sonra fark ettim. Şimdi nereden çıktı bu konu? Ben veri temizliği için Pandas’ı çok seviyorum. Büyük veri setlerinin temizlemek istediğim yerlerini koparıp Pandas ile temizleyip tekrar yerine koyuyorum. Peki […]

Python Listesinden Spark RDD ve Dataframe Oluşturmak

Zaman zaman Python listesinden PySpark Dataframe oluşturmamız gerekebiliyor. En azından benim gerekiyor. Bu kısa yazımızda bunu gerçekleştireceğiz. Önce 9 insanın aylık ücretlerini temsil eden Python listemizi oluşturuyoruz. Bu çalışmada Spark 1.6 kullanılmıştır. ucret =[2000.00,3750.00,1000.00,4800.00,4800.00,0.00,4800.00,0.00,14500.00] Python listesinden Spark RDD oluşturalım ucretRDD = sc.parallelize(ucret) Kontrol edelim ucretRDD.take(9) [2000.0, 3750.0, 1000.0, 4800.0, 4800.0, 0.0, 4800.0, 0.0, 14500.0] Şema […]