Apache Spark – Spark SQL, Dataset

spark-sql
spark-sql

Bu bölümde Dataset hakkında genel bilgiler vereceğiz

Dataset ile farklı kaynaklardan verileri toplayarak SQL benzeri script ve metodlarla analizler yapabiliriz .Genel olarak RDD metodlarına göre kullanımı daha basittir bu yüzden Spark ile büyük veri analizinde tercih edilir

SparkSession

DataSet ile analizler yapmak için öncelikle SparkSession oluşturmamız gerekir.SparkSession bizim başlangıç noktamızdır.

SparkSession şu şekilde oluşturulur

 

Dataset

Spark’ın eski versiyonlarında RDD ile beraber SQL benzeri analizler yapabileceğimiz DataFrame yapısı kullanılıyordu. Spark 2.0 ile birlikte DataFrame yerine Dataset yapısı kullanımı gerekmektedir. Eski versiyonlarda kullanabildiğimiz DataFrame tanımı Spark 2.0 ile birlikte compile hatası vermektedir

Şimdi Dataset ile örnekler yapalım . Öncelikle alttaki veri kümesini bilgisayarımız indirelim

spark_data

Bu veri kümesinde alttaki gibi json tipinde bir veri yapısı bulunmaktadır

spark-veri-json
spark-veri-json

Şimdi Dataset ile yapabileceğimiz işlemleri inceleyelim

show metodu

Bu metod ile veri kaynağının şema yapısını ve örnek verileri gösterebiliriz

spark-show
spark-show

printSchema metodu

Bu metod ile veri kaynağının şema yapısını gösterebiliriz

spark-schema
spark-schema

select metodu

Bu metod ile belirli kolonların gösterilmesini sağlayabiliriz

spark-select
spark-select

Ayrıca Column objesi kullanarak select metodunda gösterdiğimiz alanlarda çeşitli işlemler yapabiliriz

selectColumn
selectColumn

filter metodu

Bu metod ile filtreleme işlemleri yapabiliriz

spark-filter
spark-filter

groupBy metodu

Bu metod ile belirli alanlara göre gruplama yapabiliriz.Bu gruplama üzerinden işlemler(aggregation) yapabiliriz.Mesela aynı şehirlerde yaşayan kişilerin ortalama yaşları şöyle bulunur

spark-avg
spark-avg

SQL Sorguları

SparkSession ile SQL sorguları geliştirebiliriz. Bu sorgular bize Dataset objesi olarak döner

 

spark-sql
spark-sql

Örnek gruplama işlemi(avg)

spark-sql-avg
spark-sql-avg

Global View

Bir önceki örnekte createOrReplaceTempView ile bir view oluşturup onun üzerinden sql sorguları çalıştırmıştık. Eğer uygulama kapansa dahi view’ın çalışmasını istiyorsak global view kullanmalıyız

Kullanım şekli şu şekildedir

Bu bölümde Dataset üzerinden programatik ve sql tabanlı sorgular çalıştırdık. Diğer büyük veri yazıları için sitemizi takip edebilirsiniz


Bizi takip edebileceğiniz sosyal medya platformları

–> Facebook –> Linkedin  -> Twitter)

Please follow and like us:

Yazar: serkan sakınmaz

serkansakinmaz@gmail.com

“Apache Spark – Spark SQL, Dataset” için 1 yorum

Bir Cevap Yazın

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