SlideShare a Scribd company logo
1 of 32
Download to read offline
Apache Spark
BURAK KÖSE
Apache Spark Nedir?
Apache Spark™ Scala programlama dili ile geliştirilen
büyük ölçekli verileri hızlı bir şekilde işlemek için
oluşturulmuş genel amaçlı bir platformdur.
...
● Dağıtık hesaplama için bir framework
● In-memory, fault tolerant veri yapıları
● Scala, Java, Python, R, SQL destekleyen API
● Açık kaynak
Nasıl Ortaya Çıktı?
Nasıl Ortaya Çıktı?
● 2009 UC Berkeley
● 2013’den beri Apache çatısı altında
● 2014 üst seviye Apache projesi
● databricks.com
Neden Spark?
● Performans
● Geliştirici verimliliği
● Zengin API
● ...
Performans
● Graysort benchmark (100TB)
● Hadoop - 72 minutes / 2100 nodes / datacentre
● Spark - 23 minutes / 206 nodes / AWS
● Aslında durum HDFS vs Memory
● Yeni sürümleri ile çok daha hızlı!
Performans
● 1PB(1000TB)
● Spark - 234 minutes / 190 nodes / AWS
Performans
● İteratif algoritmalarda
çok hızlı
● Mümkün olduğunda memory
kullanan yaklaşım
Zengin API
● map()
● reduce()
● filter()
● sortBy()
● map()
● reduce()
● join()
● groupByKey()
● first()
● count()
ve çok daha fazlası ...
Daha Az Kod, Daha Çok İş
Örneğin Hadoop’da basit bir kelime sayma işlemi
Daha Az Kod, Daha Çok İş
Oysa Spark’da (Scala)
val textFile = sc.textFile("hdfs://...")
val counts = textFile.flatMap(line => line.split(" "))
.map(word => (word, 1))
.reduceByKey(_ + _)
Peki Neler Sağlıyor?
Nasıl Çalışıyor?
Terminoloji
Bu terimler nedir?
Driver SparkContext’e sahip proses
Executor Bir veya daha fazla görevi yürüten proses
Master Kümeler arası uygulamaları yöneten proses
Worker Kendi Executor’larını yöneten proses
RDD nedir?
● RDD = Resilient Distributed Dataset
● Immutable, Fault-tolerant
● Parallel işletilirler
● Resilient: Eğer veri kaybolursa yeniden yarat
● Distributed: Dağıtık
● Dataset: Veri manuel yaratılabileceği gibi
otomatik olarak da yaratılabilir
...
RDD’ler read-only ve immutable’dır
İşleyebilirsin ama değiştiremezsin
Okuyabilirsin ama yazamazsın
Spark Fonksiyonları
Transformations
● Lazy Evaluation
● Geriye yeni bir
RDD döndürür
Actions
● Geriye gerçek bir
değer döndürür
Transformation bir action ile karşılaşana
kadar işletilmez.
Lazy Evaluation
import scala.util.Random
val headsRDD = sc.parallelize(0 to 1000)
.map(_ => Random.nextDouble)
.filter(_ < 0.51)
headsRDD.count
>> 509
Yukarıdaki kod parçasında 2 numaralı bölümde yapılan tüm
işlemler transformation’dır. Dolayısı ile lazy evulationdır. 2
numaralı bölüm ancak 3 numaralı bölümdeki gibi bir action ile
karşılaşılana kadar hesaplanmamıştır.
1
2
3
Spark Fonksiyonları - Örnekler
● scala> val nums = sc.parallelize(List(1,2,3)) //trans
● scala> nums.foreach(println) //action
3
1
2
● scala> val squared = nums.map((num) => num*num) //trans
● scala> squared.foreach(println) //action
1
4
9
...
● scala> val even = squared.filter(_ % 2 == 0) //trans
● scala> even.foreach(println) //action
4
● scala> val ranges = nums.flatMap(0 to _) //trans
● ranges.foreach(println) //action
0
1
2
0
1
0
1
2
3
...
● scala> nums.collect //action
Array[Int] = Array(1, 2, 3)
● scala> nums.take(2) //action
Array[Int] = Array(1, 2)
● scala> nums.count //action
Long = 3
● scala> nums.reduce(_ + _) //action
Int = 6
Key/Value RDD
● Bir tuple objesi ile gösterilirler. Örn: (key,value)
● Yeni transformation işlemleri vardır.Örn: reduceByKey()
```
val lines = sc.textFile("data.txt") //transformation
val pairs = lines.map(s => (s, 1)) //transformation
val counts = pairs.reduceByKey((a, b) => a + b) //action
```
● Anahtar tabanlı işlemleri kolaylaştırırlar.
Genel bir bakış...
...
1. Elindeki verilerden RDD'ler oluştur.
2. Yeni RDD'ler elde et.(Transformation aşaması)
3. Eğer birden fazla işlem yapılacak ise Spark'a
persist işlemini bildir.
4. Elindeki veriyi işle.(Action aşaması)
RDDs – cache()
● cache() / persist()
● İlk kez bir action ile karşılaşıldığında,
sonucu bellekte tut anlamına gelir.
● Sadece bellek değil, çeşitli seviyeleri
vardır.
● rdd.persist(StorageLevel.DISK_ONLY)
Persistence Seviyeleri
Seviye Yer Kullanımı CPU Kullanımı Bellekte mi? Diskte mi? Açıklama
MEMORY_ONLY Yüksek Düşük Evet Hayır
MEMORY_ONLY_SER Düşük Yüksek Evet Hayır
MEMORY_AND_DISK Yüksek Orta Birazı Birazı
Veri bellek için fazla büyükse veri
parçalarını diske koymaya başlar
MEMORY_AND_DISK_SER Düşük Yüksek Birazı Birazı
Veri bellek için fazla büyükse veri
parçalarını diske koymaya başlar.
Serilize edilerek saklanır
DISK_ONLY Düşük Yüksek Hayır Evet
Deployment
CLUSTER
● Standalone
● Mesos
● YARN
● Amazon EC2
LOCAL
● Single threaded:
SparkContext(‘local’)
● Multi-threaded:
SparkContext(‘local[4]’)
Nereden Öğrenebilirim?
Yayınlanmış kitaplar...
● Learning Spark
● Advanced Analytics with Spark
● Fast Data Processing with Spark
● Machine Learning with Spark
● Spark Cookbook
● Spark in Action
● Spark GraphX in Action
...
Online Kurslar…(edX)
● Introduction to Big Data with Apache Spark
● Scalable Machine Learning
Referanslar
● http://spark.apache.org/
● Learning Spark
O'Reilly Media
● Introduction to Apache Spark
MAMMOTH DATA
● The Data Scientist’s Guide to Apache Spark
GALVANIZE
SORULAR?

More Related Content

What's hot

Apache Spark Introduction
Apache Spark IntroductionApache Spark Introduction
Apache Spark Introductionsudhakara st
 
Hadoop Overview & Architecture
Hadoop Overview & Architecture  Hadoop Overview & Architecture
Hadoop Overview & Architecture EMC
 
What Is RDD In Spark? | Edureka
What Is RDD In Spark? | EdurekaWhat Is RDD In Spark? | Edureka
What Is RDD In Spark? | EdurekaEdureka!
 
Introduction to Map-Reduce
Introduction to Map-ReduceIntroduction to Map-Reduce
Introduction to Map-ReduceBrendan Tierney
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache SparkRahul Jain
 
Hadoop introduction , Why and What is Hadoop ?
Hadoop introduction , Why and What is  Hadoop ?Hadoop introduction , Why and What is  Hadoop ?
Hadoop introduction , Why and What is Hadoop ?sudhakara st
 
Hadoop Architecture and HDFS
Hadoop Architecture and HDFSHadoop Architecture and HDFS
Hadoop Architecture and HDFSEdureka!
 
Büyük Veri İşlemleri ve Hadoop
Büyük Veri İşlemleri ve HadoopBüyük Veri İşlemleri ve Hadoop
Büyük Veri İşlemleri ve HadoopCenk Derinozlu
 
Introduction to Spark (Intern Event Presentation)
Introduction to Spark (Intern Event Presentation)Introduction to Spark (Intern Event Presentation)
Introduction to Spark (Intern Event Presentation)Databricks
 
Apache Hadoop In Theory And Practice
Apache Hadoop In Theory And PracticeApache Hadoop In Theory And Practice
Apache Hadoop In Theory And PracticeAdam Kawa
 
Apache Hive Tutorial
Apache Hive TutorialApache Hive Tutorial
Apache Hive TutorialSandeep Patil
 
HADOOP TECHNOLOGY ppt
HADOOP  TECHNOLOGY pptHADOOP  TECHNOLOGY ppt
HADOOP TECHNOLOGY pptsravya raju
 
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLabApache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLabCloudxLab
 
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Cloudera Japan
 

What's hot (20)

Apache Spark Introduction
Apache Spark IntroductionApache Spark Introduction
Apache Spark Introduction
 
Hadoop Overview & Architecture
Hadoop Overview & Architecture  Hadoop Overview & Architecture
Hadoop Overview & Architecture
 
What Is RDD In Spark? | Edureka
What Is RDD In Spark? | EdurekaWhat Is RDD In Spark? | Edureka
What Is RDD In Spark? | Edureka
 
Introduction to Map-Reduce
Introduction to Map-ReduceIntroduction to Map-Reduce
Introduction to Map-Reduce
 
Hadoop 1 vs hadoop2
Hadoop 1 vs hadoop2Hadoop 1 vs hadoop2
Hadoop 1 vs hadoop2
 
Apache Flume
Apache FlumeApache Flume
Apache Flume
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
 
Hadoop introduction , Why and What is Hadoop ?
Hadoop introduction , Why and What is  Hadoop ?Hadoop introduction , Why and What is  Hadoop ?
Hadoop introduction , Why and What is Hadoop ?
 
Hadoop Architecture and HDFS
Hadoop Architecture and HDFSHadoop Architecture and HDFS
Hadoop Architecture and HDFS
 
Büyük Veri İşlemleri ve Hadoop
Büyük Veri İşlemleri ve HadoopBüyük Veri İşlemleri ve Hadoop
Büyük Veri İşlemleri ve Hadoop
 
Introduction to Spark (Intern Event Presentation)
Introduction to Spark (Intern Event Presentation)Introduction to Spark (Intern Event Presentation)
Introduction to Spark (Intern Event Presentation)
 
Apache Hadoop In Theory And Practice
Apache Hadoop In Theory And PracticeApache Hadoop In Theory And Practice
Apache Hadoop In Theory And Practice
 
Apache Hive Tutorial
Apache Hive TutorialApache Hive Tutorial
Apache Hive Tutorial
 
HADOOP TECHNOLOGY ppt
HADOOP  TECHNOLOGY pptHADOOP  TECHNOLOGY ppt
HADOOP TECHNOLOGY ppt
 
Spark
SparkSpark
Spark
 
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLabApache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
 
Mapreduce Tutorial
Mapreduce TutorialMapreduce Tutorial
Mapreduce Tutorial
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
 
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
 

Similar to Apache Spark : Genel Bir Bakış

Ankara JUG Big Data Presentation
Ankara JUG Big Data PresentationAnkara JUG Big Data Presentation
Ankara JUG Big Data PresentationSerkan Özal
 
Sunucularımızı Gözleyelim
Sunucularımızı GözleyelimSunucularımızı Gözleyelim
Sunucularımızı GözleyelimOguz Yarimtepe
 
Hadoop @ devveri.com
Hadoop @ devveri.comHadoop @ devveri.com
Hadoop @ devveri.comHakan Ilter
 
Veri işleme üzerine, Hakan Sarıbıyık
Veri işleme üzerine, Hakan SarıbıyıkVeri işleme üzerine, Hakan Sarıbıyık
Veri işleme üzerine, Hakan SarıbıyıkHakan Sarıbıyık
 
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari OluşturmaSymfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari OluşturmaHüseyin Mert
 
OpenStack'te Ceph Kullanımı ve Performans Optimizasyonu
OpenStack'te Ceph Kullanımı ve Performans OptimizasyonuOpenStack'te Ceph Kullanımı ve Performans Optimizasyonu
OpenStack'te Ceph Kullanımı ve Performans OptimizasyonuHuseyin Cotuk
 
Mongodb Ödev- İnternet programcılığı- IP2-Vize 2
Mongodb Ödev- İnternet programcılığı- IP2-Vize 2Mongodb Ödev- İnternet programcılığı- IP2-Vize 2
Mongodb Ödev- İnternet programcılığı- IP2-Vize 2gulindasdan
 
Oracle Golden Gate
Oracle Golden GateOracle Golden Gate
Oracle Golden GateAnar Godjaev
 
Istanbul Datascience Academy Talks
Istanbul Datascience Academy TalksIstanbul Datascience Academy Talks
Istanbul Datascience Academy TalksMetin Uslu
 
Ceph Türkiye 7. Meetup Ankara: Ceph Temelleri ve CRUSH MAP Yönetimi
Ceph Türkiye 7. Meetup Ankara: Ceph Temelleri ve CRUSH MAP YönetimiCeph Türkiye 7. Meetup Ankara: Ceph Temelleri ve CRUSH MAP Yönetimi
Ceph Türkiye 7. Meetup Ankara: Ceph Temelleri ve CRUSH MAP YönetimiHuseyin Cotuk
 
C# 5 Yeni özellikler
C# 5 Yeni özelliklerC# 5 Yeni özellikler
C# 5 Yeni özelliklerErkan BALABAN
 
AnkaraJUG Haziran 2013 - No SQL / Big Data
AnkaraJUG Haziran 2013 - No SQL / Big DataAnkaraJUG Haziran 2013 - No SQL / Big Data
AnkaraJUG Haziran 2013 - No SQL / Big DataAnkara JUG
 
progressokulu.com OpenEdge Replication Slide 2
progressokulu.com OpenEdge Replication Slide 2progressokulu.com OpenEdge Replication Slide 2
progressokulu.com OpenEdge Replication Slide 2kaan verdioglu
 

Similar to Apache Spark : Genel Bir Bakış (20)

Ankara JUG Big Data Presentation
Ankara JUG Big Data PresentationAnkara JUG Big Data Presentation
Ankara JUG Big Data Presentation
 
Sunucularımızı Gözleyelim
Sunucularımızı GözleyelimSunucularımızı Gözleyelim
Sunucularımızı Gözleyelim
 
Hadoop @ devveri.com
Hadoop @ devveri.comHadoop @ devveri.com
Hadoop @ devveri.com
 
Veri işleme üzerine, Hakan Sarıbıyık
Veri işleme üzerine, Hakan SarıbıyıkVeri işleme üzerine, Hakan Sarıbıyık
Veri işleme üzerine, Hakan Sarıbıyık
 
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari OluşturmaSymfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
Symfony2 ve Doctrine ile PostgreSQL'i Kullanarak Performanslı Mimari Oluşturma
 
OpenStack'te Ceph Kullanımı ve Performans Optimizasyonu
OpenStack'te Ceph Kullanımı ve Performans OptimizasyonuOpenStack'te Ceph Kullanımı ve Performans Optimizasyonu
OpenStack'te Ceph Kullanımı ve Performans Optimizasyonu
 
Nosql veritabanlari
Nosql veritabanlariNosql veritabanlari
Nosql veritabanlari
 
Mongodb Ödev- İnternet programcılığı- IP2-Vize 2
Mongodb Ödev- İnternet programcılığı- IP2-Vize 2Mongodb Ödev- İnternet programcılığı- IP2-Vize 2
Mongodb Ödev- İnternet programcılığı- IP2-Vize 2
 
1 hafta_dersi
1  hafta_dersi1  hafta_dersi
1 hafta_dersi
 
MongoDB ve C# Driver'ı
MongoDB ve C# Driver'ıMongoDB ve C# Driver'ı
MongoDB ve C# Driver'ı
 
Oracle Golden Gate
Oracle Golden GateOracle Golden Gate
Oracle Golden Gate
 
Nosql & MongoDB
Nosql & MongoDBNosql & MongoDB
Nosql & MongoDB
 
Istanbul Datascience Academy Talks
Istanbul Datascience Academy TalksIstanbul Datascience Academy Talks
Istanbul Datascience Academy Talks
 
Ceph Türkiye 7. Meetup Ankara: Ceph Temelleri ve CRUSH MAP Yönetimi
Ceph Türkiye 7. Meetup Ankara: Ceph Temelleri ve CRUSH MAP YönetimiCeph Türkiye 7. Meetup Ankara: Ceph Temelleri ve CRUSH MAP Yönetimi
Ceph Türkiye 7. Meetup Ankara: Ceph Temelleri ve CRUSH MAP Yönetimi
 
MongoDB Overview
MongoDB OverviewMongoDB Overview
MongoDB Overview
 
C# 5 Yeni özellikler
C# 5 Yeni özelliklerC# 5 Yeni özellikler
C# 5 Yeni özellikler
 
AnkaraJUG Haziran 2013 - No SQL / Big Data
AnkaraJUG Haziran 2013 - No SQL / Big DataAnkaraJUG Haziran 2013 - No SQL / Big Data
AnkaraJUG Haziran 2013 - No SQL / Big Data
 
Erlang web-frameworks
Erlang web-frameworksErlang web-frameworks
Erlang web-frameworks
 
progressokulu.com OpenEdge Replication Slide 2
progressokulu.com OpenEdge Replication Slide 2progressokulu.com OpenEdge Replication Slide 2
progressokulu.com OpenEdge Replication Slide 2
 
Riak ve RiakCS
Riak ve RiakCSRiak ve RiakCS
Riak ve RiakCS
 

Apache Spark : Genel Bir Bakış

  • 2. Apache Spark Nedir? Apache Spark™ Scala programlama dili ile geliştirilen büyük ölçekli verileri hızlı bir şekilde işlemek için oluşturulmuş genel amaçlı bir platformdur.
  • 3. ... ● Dağıtık hesaplama için bir framework ● In-memory, fault tolerant veri yapıları ● Scala, Java, Python, R, SQL destekleyen API ● Açık kaynak
  • 5. Nasıl Ortaya Çıktı? ● 2009 UC Berkeley ● 2013’den beri Apache çatısı altında ● 2014 üst seviye Apache projesi ● databricks.com
  • 6. Neden Spark? ● Performans ● Geliştirici verimliliği ● Zengin API ● ...
  • 7. Performans ● Graysort benchmark (100TB) ● Hadoop - 72 minutes / 2100 nodes / datacentre ● Spark - 23 minutes / 206 nodes / AWS ● Aslında durum HDFS vs Memory ● Yeni sürümleri ile çok daha hızlı!
  • 8. Performans ● 1PB(1000TB) ● Spark - 234 minutes / 190 nodes / AWS
  • 9. Performans ● İteratif algoritmalarda çok hızlı ● Mümkün olduğunda memory kullanan yaklaşım
  • 10. Zengin API ● map() ● reduce() ● filter() ● sortBy() ● map() ● reduce() ● join() ● groupByKey() ● first() ● count() ve çok daha fazlası ...
  • 11. Daha Az Kod, Daha Çok İş Örneğin Hadoop’da basit bir kelime sayma işlemi
  • 12. Daha Az Kod, Daha Çok İş Oysa Spark’da (Scala) val textFile = sc.textFile("hdfs://...") val counts = textFile.flatMap(line => line.split(" ")) .map(word => (word, 1)) .reduceByKey(_ + _)
  • 15. Terminoloji Bu terimler nedir? Driver SparkContext’e sahip proses Executor Bir veya daha fazla görevi yürüten proses Master Kümeler arası uygulamaları yöneten proses Worker Kendi Executor’larını yöneten proses
  • 16. RDD nedir? ● RDD = Resilient Distributed Dataset ● Immutable, Fault-tolerant ● Parallel işletilirler ● Resilient: Eğer veri kaybolursa yeniden yarat ● Distributed: Dağıtık ● Dataset: Veri manuel yaratılabileceği gibi otomatik olarak da yaratılabilir
  • 17. ... RDD’ler read-only ve immutable’dır İşleyebilirsin ama değiştiremezsin Okuyabilirsin ama yazamazsın
  • 18. Spark Fonksiyonları Transformations ● Lazy Evaluation ● Geriye yeni bir RDD döndürür Actions ● Geriye gerçek bir değer döndürür Transformation bir action ile karşılaşana kadar işletilmez.
  • 19. Lazy Evaluation import scala.util.Random val headsRDD = sc.parallelize(0 to 1000) .map(_ => Random.nextDouble) .filter(_ < 0.51) headsRDD.count >> 509 Yukarıdaki kod parçasında 2 numaralı bölümde yapılan tüm işlemler transformation’dır. Dolayısı ile lazy evulationdır. 2 numaralı bölüm ancak 3 numaralı bölümdeki gibi bir action ile karşılaşılana kadar hesaplanmamıştır. 1 2 3
  • 20. Spark Fonksiyonları - Örnekler ● scala> val nums = sc.parallelize(List(1,2,3)) //trans ● scala> nums.foreach(println) //action 3 1 2 ● scala> val squared = nums.map((num) => num*num) //trans ● scala> squared.foreach(println) //action 1 4 9
  • 21. ... ● scala> val even = squared.filter(_ % 2 == 0) //trans ● scala> even.foreach(println) //action 4 ● scala> val ranges = nums.flatMap(0 to _) //trans ● ranges.foreach(println) //action 0 1 2 0 1 0 1 2 3
  • 22. ... ● scala> nums.collect //action Array[Int] = Array(1, 2, 3) ● scala> nums.take(2) //action Array[Int] = Array(1, 2) ● scala> nums.count //action Long = 3 ● scala> nums.reduce(_ + _) //action Int = 6
  • 23. Key/Value RDD ● Bir tuple objesi ile gösterilirler. Örn: (key,value) ● Yeni transformation işlemleri vardır.Örn: reduceByKey() ``` val lines = sc.textFile("data.txt") //transformation val pairs = lines.map(s => (s, 1)) //transformation val counts = pairs.reduceByKey((a, b) => a + b) //action ``` ● Anahtar tabanlı işlemleri kolaylaştırırlar.
  • 25. ... 1. Elindeki verilerden RDD'ler oluştur. 2. Yeni RDD'ler elde et.(Transformation aşaması) 3. Eğer birden fazla işlem yapılacak ise Spark'a persist işlemini bildir. 4. Elindeki veriyi işle.(Action aşaması)
  • 26. RDDs – cache() ● cache() / persist() ● İlk kez bir action ile karşılaşıldığında, sonucu bellekte tut anlamına gelir. ● Sadece bellek değil, çeşitli seviyeleri vardır. ● rdd.persist(StorageLevel.DISK_ONLY)
  • 27. Persistence Seviyeleri Seviye Yer Kullanımı CPU Kullanımı Bellekte mi? Diskte mi? Açıklama MEMORY_ONLY Yüksek Düşük Evet Hayır MEMORY_ONLY_SER Düşük Yüksek Evet Hayır MEMORY_AND_DISK Yüksek Orta Birazı Birazı Veri bellek için fazla büyükse veri parçalarını diske koymaya başlar MEMORY_AND_DISK_SER Düşük Yüksek Birazı Birazı Veri bellek için fazla büyükse veri parçalarını diske koymaya başlar. Serilize edilerek saklanır DISK_ONLY Düşük Yüksek Hayır Evet
  • 28. Deployment CLUSTER ● Standalone ● Mesos ● YARN ● Amazon EC2 LOCAL ● Single threaded: SparkContext(‘local’) ● Multi-threaded: SparkContext(‘local[4]’)
  • 29. Nereden Öğrenebilirim? Yayınlanmış kitaplar... ● Learning Spark ● Advanced Analytics with Spark ● Fast Data Processing with Spark ● Machine Learning with Spark ● Spark Cookbook ● Spark in Action ● Spark GraphX in Action
  • 30. ... Online Kurslar…(edX) ● Introduction to Big Data with Apache Spark ● Scalable Machine Learning
  • 31. Referanslar ● http://spark.apache.org/ ● Learning Spark O'Reilly Media ● Introduction to Apache Spark MAMMOTH DATA ● The Data Scientist’s Guide to Apache Spark GALVANIZE