|
Hadoop MR Record (2013)
|
Spark Record (2014)
|
ma'lumotlar hajmi
|
102,5 TB
|
100 TB
|
O'tgan vaqt
|
72 daqiqa
|
23 daqiqa
|
# tugun
|
2100
|
206
|
#Yadrolar
|
50400 jismoniy
|
6592 virtuallashtirilgan
|
Klaster diskining o'tkazuvchanligi
|
3150 GB/s (taxminiy)
|
618 Gb/s
|
tarmoq
|
ajratilgan ma'lumotlar markazi, 10 Gbps
|
virtuallashtirilgan (EC2) 10Gbps tarmoq
|
tartiblash darajasi
|
1,42TB/min
|
4,27TB/min
|
Saralash tezligi/tugun
|
0,67 GB/min
|
20,7 GB/min
|
Saralash benchmarki, Daytona Grey: 100 TB maʼlumotlar turi (1 trillion yozuv)
http://databricks.com/blog/2014/11/05/spark-officially-sets-a-new-record-in-large-scale-sorting.html _ _ _
Spark, tugunlarning 1/10 qismi bilan 3 barobar tezroq
Apache Spark Apache Spark ma'lumotlarni tahlil qilish, mashinani o'rganish, grafiklar, oqim ma'lumotlari va boshqalarni qo'llab-quvvatlaydi. U bir qator ma'lumotlar turlaridan o'qish/yozish va bir nechta tillarda ishlab chiqish imkonini beradi.
Spark Core
uchqun oqimi
MLlib
GraphX
ML quvurlari
Spark SQL
DataFrames
Ma'lumotlar manbalari
Scala , Java, Python, R, SQL
Hadoop HDFS, HBase , Hive, Apache S3, Streaming, JSON, MySQL va HPC uslubi ( GlusterFS , Luster )
R egiluvchan D taqsimlangan ma'lumotlar to'plami (RDDs)
RDDs (Resilient Distributed Datasets) - bu ma'lumotlar konteynerlari
Spark-dagi barcha qayta ishlash komponentlari RDD deb ataladigan bir xil abstraktsiyaga ega
Ilovalar RDD abstraktsiyasini baham ko'rganligi sababli, siz yangi RDD yaratish uchun turli xil o'zgarishlarni aralashtirishingiz mumkin
To'plamni parallellashtirish yoki faylni o'qish orqali yaratilgan
Xatolarga chidamli
DataFrames va SparkSQL
DataFrames (DF) nomli ustunlarda tashkil etilgan boshqa taqsimlangan ma'lumotlar to'plamidan biridir
Relyatsion ma'lumotlar bazasiga o'xshash, Python Pandas Dataframe yoki R's DataTables
Bir marta qurilgan o'zgarmas
naslni kuzatib borish
Tarqalgan hisoblarni yoqish
Dataframelarni qanday qurish kerak
Fayl(lar)dan o'qish
Mavjud DF-larni o'zgartirish (Spark yoki Pandas)
Python to'plami ro'yxatini parallellashtirish
Transformatsiyalar va harakatlarni qo'llang
DataFrame misoli
// "Talabalar" ni o'z ichiga olgan yangi DataFrame yarating
talabalar = foydalanuvchilar.filtr ( foydalanuvchilar. yosh < 21)
//Shuningdek, Pandalarga o'xshash sintaksisdan foydalanish
talabalar = foydalanuvchilar[ users.age < 21]
//Talabalar sonini jinsi bo'yicha hisoblang
student.groupBy ("jins").count()
// Yosh talabalarga loglar deb nomlangan boshqa DataFrame bilan qo'shiling
student.join (jurnallar, logs.userId == users.userId ,
" chap_tashqi ")
Do'stlaringiz bilan baham: |