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 yapalım ki log bilgileri arasında sonuçları kaçırmayalım

Logger.getLogger("org").setLevel(Level.ERROR)

Spark Session ve SparkContext oluşturalım:

val spark = SparkSession.builder()
      .appName("DataframeOlusturma")
      .master("local[4]")
      .config("spark.driver.memory","2g")
      .config("spark.executor.memory","4g")
      .getOrCreate()

    val sc = spark.sparkContext

    import spark.implicits._

Şimdi isimler ve yaşlardan oluşan basit bir dataframe oluşturalım:

val yaslarDF = Seq(
     (8, "Ali"),
     (64, "Mehmet"),
     (27, "Cemal")
   ).toDF("yas", "isim")

Mehmet’in yaşına erişelim:

val yasMehmet = yaslarDF
.where($"isim" === "Mehmet")
.head().getInt(0)

println(s"Mehmet'in yaşı: ${yasMehmet}")

Çıktı aşağıdaki gibi olacaktır:

Mehmet'in yaşı: 64

Yapılan işi özetleyelim: Öncelikle elde edeceğimiz değeri nokta haline getirmeliyiz. Bunu iki aşamada yapıyoruz; önce tek satıra indirgiyoruz .where($"isim" === "Mehmet") daha sonra tek satırda nokta olarak sütunu seçiyoruz .head().getInt(0) . Burada head() kullanmamızın sebebi driver makineye dönen sonuçlardan seçim yapabilmek içindir.

Hoşçakalın…

 

Yazar Hakkında
Toplam 171 yazı
Erkan ŞİRİN
Erkan ŞİRİN
2014'ten beri hem akademik alanda hem de sektörde pratik anlamda büyük veri ve veri bilimi ile ilgili çalışmalar yürütmektedir. Büyük veri ve veri bilimi ile ilgili birçok kurum ve şirkete danışmanlık ve eğitimler vermekte, projeler icra etmektedir. Çalışma alanları: büyük veri platformlarının kurulum ve yönetimi, büyük veri üzerinde makine öğrenmesi, olağan dışılık ve sahtecilik tespiti, akan veri işleme ve veri hazırlama sürecidir.
Yorumlar (Yorum yapılmamış)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

×

Bir Şeyler Ara