More Related Content
Similar to Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز (20)
More from Mobin Ranjbar (7)
Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
- 1. عملی کارگاه
هدوپ آموزش
}
حمایت با
ایران اطلعات فناوری سازمان
ایران هدوپ مرجع
w . . . .ww hadoop ir www farafekr co hello@had . .oop ir info@farafekr co
فرافکر پردازان ایده افزارنرم مهندسی شرکت
- 3. جدید های چالش
=
جدید هایحل راه
از خارج هاآن پردازش و مدیریت که شودمی گفته هاییداده به
.است موجود هایسیستم و هاحل راه توانایی
چیست؟ داده کلن
- 5. ها داده رشد
2013 2015
Unstructured
Data
88%
300 Exabytes
80 Exabytes
Structured
Data
12%
DatabaseApplicaton
Backup &
Archive
Backup
Storage
Optons
چیست؟ داده کلن
- 6. چیست؟ داده کلن
یاد به شنوند می را واژه این که زمانی افراد از بسیاری
زیاد وسعتیا وهمانزیاد حجم.افتندمی
کلن هایداده درفقطمو.نیست مطرح حجم ضوع
- 10. ای غیررابطه و ایرابطه هایداده پایگاه
) ایرابطه داده پایگاهRelational databasesهایپایگاه از دسته آن به (
.باشند شده ایجاد و طراحی ایرابطه مدل اساس بر که شودمی اطلقا داده
تولد سال پدر نام شماره
دانشجویی
کامل نام
13۶5 جعفر 9۰45879 احمدیان علی
13۶۶ ایمان 89۶5479 بهرامی میلد
13۶8 مهدی 9245789 علوی علیرضا
- 11. ای غیررابطه و ایرابطه هایداده پایگاه مقایسه
) ایغیررابطه داده پایگاه-Non Relational databasesاز ایدسته به (
نحوه و ایرابطه مدل از هاداده سازی ذخیره برای که شودمی گفته هاداده پایگاه
.نکند استفاده جدول صورت به هاداده نمایش
{
_id:147963658,
Name:'abc',
Contact:{
Phone:'8984577',
Email:'test@test.com'
},
Address:{
address:'Fanavaran Street',
City:'Tehran'
}
}
- 12. معایب و مزایا
ایرابطه داده پایگاه
:مزایا
1.ساختار با هایداده پردازش و ذخیره در قبول قابل کارایی .
2.شده اثبات و شده شناخته متنوع ابزارهای وجود .
:معایب
1.ضعیف پذیری توسعه .
2.ثابت ایداده ساختار .
- 13. معایب و مزایا
ایغیررابطه داده پایگاه
:مزایا
1.ساختار بی هایداده سازی ذخیره و پردازش در عالی کارایی .
2.داده پایگاه در مکرر تغییر تحمل توانایی .
3.ابری و شده توزیع هایسیستم در کارایی بهترین .
:معایب
1.رشد حال در همچنان موردنیاز ابزارهای و اندازی،نصب راه .
2.خاص مسائل در پایین دهی پاسخ زمان .
- 15. کنیم؟ استفاده ای رابطه ای داده های پایگاه از زمانی چه
1.دارید جدول به نیاز .
2.هستند روشن و ساده شما های داده .
3.است مقداری تک جداول های فیلد .
4.دارد یکپارچه و یکتا ساختاری شما های داده .
- 16. کنیم؟ استفاده ای غیررابطه ای داده های پایگاه از زمانی چه
1.رسد می بزرگی مقیاس به ثانیه از کسری در شما های داده .
2.است پراکنده و ساختار بدون شما های داده .
3به تبدیل ای داده فیلد هر است ممکن لحظه هر .2،3بیشتر یا و
.شود
4.است شده تشکیل مقادیر از ای آرایه از ای داده فیلد هر .
5.هستید ها داده تداوم و پایداری نگران .
۶.هستید سرور شدن دسترس از خارج نگران .
7از میخواهید و است شده ذخیره ابری بستر در شما های داده .
.کنید استفاده شده توزیع های دیتابیس
- 17. کنیم؟ استفاده ای رابطه ای داده های پایگاه از زمانی چه
1.دارید جدول به نیاز .
2.هستند روشن و ساده شما های داده .
3.است مقداری تک جداول های فیلد .
4.دارد یکپارچه و یکتا ساختاری شما های داده .
- 18. A
C P
)پذیری دسترسAvailability:(
هم همواره را هاداده بتواند کلینت هر
.بنویسد هم و بخواند
)پذیری بخش تحملPartition
Tolerance:(
شبکه فیزیکی شدن تقسیم رغم به سیستم
.کند کار خوبی مختلف،به هایقسمت به
)ثباتConsistency:(
های نسخه به همواره ها کلینت تمامی
.باشند داشته دسترسی داده از یکسانی
CA
CP
BigTable
HyperTable
HBase
MongoDB
TerraStore
Scalaris
BerkeleyDB
MemcacheDB
Redis
AP
Dynamo
Voldemort
Tokyo Cabinet
KAI
Cassandra
SimpleDB
CouchDB
Riak
RDBMSs
( , , )MySQLPostgresetc
Aster Data
Greenplum
Vertica
کنید انتخاب را مورد دو
نظریهCAP
- 19. :ای غیررابطه هایداده پایگاه انواع
1یا کلید-مقدار .-Key Value
2یا سندگرا .-Document Oriented
3یا گرا ستون .-Column Oriented
4یا گراف بر مبتنی .-Graph based
5یا ترکیبی .Multi Model
- 22. سندگرا هایداده پایگاه
یک عنوان به ما داده سطرهای تمامی سندگرا هایداده پایگاه در
ایمجموعه از شده تشکیل اسناد این تمامی و شوندمی شناخته سند
.هستند کلید-مقدارها
{
_id:147963658,
Name:'abc',
Contact:{
Phone:'8984577',
Email:'test@test.com'
},
Address:{
address:'Fanavaran Street',
City:'Tehran'
}
}
- 24. گرا ستون هایداده پایگاه
،سطر جای به ،ستون قالب در را محتوایش گرا ستون هایداده پایگاه
را خود خاص هایستون داده از سطر هر به توانمی .نمایدمی ذخیره
.داد نسبت
- 26. گراف بر مبتنی هایداده پایگاه
که کندمی پیروی گراف تئوری از گراف بر مبتنی هایداده پایگاه
توسط هاآن بین ارتباط و هاگره همان یا داده نقاط براساس هاداده
.آیندمی در نمایش به ها یال
- 29. خلصه صورت به هدوپ
هدوپ توانمی را داده تحلیلی هایچهارچوب ترین بزرگ و ترینمهم از یکی
.نامید
که است هایی کتابخانه و افزارها نرم از ای مجموعه یا ورک فریم یک هدوپ
در .میکند فراهم را شده توزیع های داده از عظیمی حجم پردازش کار و ساز
واقعHadoopتا شده طراحی که کرد تشبیه عامل سیستم یک به توان می را
مدیریت و پردازش مختلف های ماشین روی بر را ها داده از زیادی حجم بتواند
از استفاده با توان می و نیست قیمت گران کامپیوترهای نیازمند هدوپ .کند
.گیرد قرار استفاده مورد معمول و ارزان کامپیوترهای
- 32. ای داده مدل
یا نگاشت،کاهشMapReduceهای داده پردازش برای نویسی برنامه مدل یک
تواند می ،سادگی عین در مدل این .باشد می موازی و شده توزیع صورت به کلن
،مختلف های الگوریتم در ساختار پیچیدگی دلیل به زیرا .باشد پیچیده بسیار
.شود می غیرممکن مدل این از استفاده با سازی پیاده توانایی
یا نگاشت،کاهشMapReduceهای داده پردازش برای نویسی برنامه مدل یک
تواند می ،سادگی عین در مدل این .باشد می موازی و شده توزیع صورت به کلن
،مختلف های الگوریتم در ساختار پیچیدگی دلیل به زیرا .باشد پیچیده بسیار
.شود می غیرممکن مدل این از استفاده با سازی پیاده توانایی
مدلMRبه را مسئله2اصلی فازMapوReduceاز هرکدام .کند می تقسیم
توسط آنها نوع که باشد می خروجی و ورودی کلید-مقدارهای جفت دارای فازها این
توابع بایست می نویس برنامه همچنین .گردد می تعیین نویس برنامهMapو
Reduce.کند سازی پیاده هم را
- 34. یا نگاشت متدMap
توسط شده تعیین اندازه به را ورودی داده هدوپInput Splitو کندمی تقسیم
یا نگاشت متد ،هاقسمت این از هرکدام برایMapنوشته کاربر توسط که ای
.کندمی ایجاد را است شده
اندازهInput Splitکل کارایی درJobمتعادل مقدار این اگر .دارد زیادی تأثیر
،باشد کم بسیار میزان این اگر اما .یافت خواهد افزایش موازی بار توازن باشد
مدیریتTaskکارایی ورودی هایتکه و هاJob.دهدمی کاهش را
میزان بهترینInput Split) داده بلوک یک اندازه به128.باشدمی (مگابایت
یا تکه هر برای که زیراSplitمتد یکMap.شودمی ایجاد
- 35. مفهومDLOداده محلی سازی بهینه یا
متد که کند می تلش هدوپMapپردازشی داده که کند اجرا ماشینی برروی را
رفتن هدر به از موضوع این که زیرا .باشد داشته وجود سیستم همان برروی آن
مفهوم این به .کند می جلوگیری شبکه ارزش با باند پهنایداده محلی سازی بهینه
.شود می گفته
متد اجرای هنگام در که صورت این بهMapآن توسط بایست می که هایی داده
.است موجود محلی ماشین در گیرد قرار پردازش مورد متد
متد در فقط مکانیزم این که کنید توجهMapمتد و دارد وجودReduceبه قادر
.نیست اینکار انجام
- 36. یا کاهش متدReduce
یا کاهش متد درReduceمتد خروجیMapشود می دریافت ورودی عنوان به
متد یک اگر که صورت این بهReduceهمه خروجی باشیم داشتهMapبه ها
متد یکReduce.شود می ارسال ماشین یک برروی
متد چند اگر اماReduceهر خروجی ،شود اجراMapمتدهای بینReduce
شود سازی پیاده نویس برنامه توسط بایست می نیز متد این .شود می کپی و توزیع
برروی متد این خروجی نهایت در وHDFS.میگیرد قرار
- 40. توابعCombiner
های برنامهMapReduceو هستند محدود کلستر در موجود باند پهنای لحاظ از
وظایف بین ها داده تبادل میزان بایست میMapوReduce.رسد حداقل به
تابع تا دهد می را امکان این کاربر به هدوپCombinerخروجی بررویMap
متد ورودی و شود اجراReduceواقع در .کند پردازش رسیدن از پیش را
بار چند تابع این که دهد نمی تضمین هدوپ ولی است سازی بهینه تابع این وظیفه
هر خروجی بررویMap.شود می اجرا
تابع واقع درCombinerتوابع خروجیMapکاری و کند می پردازش پیش را
فاز مشابهReduce.دهد می انجام را
- 42. جاوا غیر هایزبان در کاهش ،نگاشت مدل
کتابخانه استفاده باHadoop Streamingهای برنامه توان میMapReduce
از کتابخانه این .کرد سازی پیاده هدوپ برای جاوا از غیر نویسی برنامه زبان هر با را
استاندارد جریان واسطUnixخروجی و ورودی که صورت این به کند می استفاده
برنامهMapReduceطریق از بایست می شماStandard Inputیاstdinو
Standard Outputیاstdout.شود پردازش و دریافت
- 43. جاوا غیر هایزبان در کاهش ،نگاشت مدل
import sys
for line in sys.stdin:
line = line.strip()
words = line.split()
for word in words:
print '%st%s' % (word,1)
زیر صورت به (کلمات شمارش پایتون)مثال نویسی برنامه زبان در نگاشت متد ساختار
:است
- 44. جاوا غیر هایزبان در کاهش ،نگاشت مدل
from operator import itemgetter
import sys
current_word = None
current_count = 0
word = None
for line in sys.stdin:
line = line.strip()
word, count = line.split('t', 1)
try:
count = int(count)
except ValueError:
continue
if current_word == word:
current_count += count
else:
if current_word:
print '%st%s' % (current_word, current_count)
current_count = count
current_word = word
if current_word == word:
print '%st%s' % (current_word, current_count)
زیر صورت به (کلمات شمارش پایتون)مثال نویسی برنامه زبان در کاهش متد ساختار
:است
- 45. جاوا غیر هایزبان در کاهش ،نگاشت مدل
فایل دو اجرای برای.mapper pyو.reducer py:میکنیم عمل زیر صورت به
hadoop jar hadoop-*streaming*.jar
-file /home/hduser/mapper.py -mapper
/home/hduser/mapper.py
-file /home/hduser/reducer.py -reducer
/home/hduser/reducer.py
-input /user/hduser/myinput/* -output /user/hduser/myoutput
- 47. مفهومHDFS
با را بزرگ بسیار های فایل تا است شده طراحی هدوپ شده توزیع فایل سیستم
های فایل از منظور .کند اجرا معمولی کامپیوترهای برروی ،جریانی دسترسی الگوی
بر بالغ حجمی ،بزرگ1۰۰از منظور و است پتابایت و ترابایت و گیگابایت ،مگابایت ها
یک .است بار چند خواندن و بار یک نوشتن الگوی ، ها داده جریانی دسترسی الگوی
های تحلیل آن برروی سپس و شود می کپی یا و آوری جمع معمول طور به دیتاست
.شود می انجام مشخصی زمانی های بازه در مختلفی
.نیست قدیمی و قیمت ارزان کامپیوترهای ،معمولی کامپیوترهای از منظور همچنین
.نیست بال اعتماد قابلیت با قیمت گران سرورهای یا و کامپیوترها به نیاز هدوپ
دارد وجود بازار که معمولی سرورهای و کامپیوترها برروی تا است شده طراحی هدوپ
.کند کار
کلی تعریفHDFS
- 48. مفهومHDFS
●ها ده حدود تاخیر)در با دسترسی نیازمند که هایی برنامه : کم تأخیر با دسترسی
که باشید داشته دقت .باشد می (ثانیه میلیHDFSعملیاتی توان افزایش برای
و بسیاربال سرعت نیازمند که هایی برنامه در آن از توان نمی و است شده طراحی
.کرد استفاده هستند تاخیرکم
●هدوپ)به بلک یک از کوچکتر اندازه با فایلی به کوچک فایل یک : کوچک هایفایل
فرض پیش صورت۶4خواندن عملیات اینکه دلیل به .شود می گفته (مگابایت
نیازمندSeekاست داده های گره از زیادی های بازخوانی وHDFSکارایی
.داشت نخواهد مناسبی
●در ها فایل : همزمان نوشتنHDFSبه شود نوشته تواند می نویسنده یک توسط
تغییرات آنها در و بازکرد نویسنده چند توسط را فایل یک توان نمی که صورت این
.شود پیشتیبانی آینده در است ممکن ویژگی این .کرد ایجاد
زمانی چهHDFSنیست؟ مناسبی انتخاب
- 49. مفهومHDFS
ها بلک
است داده از حداقلی میزان بلک هر واقع در .باشد می بلک اندازه دارای دیسک هر
کیلوبایت چند از معمول سیستم فایل های بلک .شود نوشته یا خوانده تواند می که
.بنویسد و بخواند را ها فایل تواند می سیستم فایل که شود می تشکیل
درHDFSدر بلک اندازه که تفاوت این با دارد وجود بلک مقوله همHDFSبزرگ
فرض پیش صورت تر)به128ها فایل ،معمولی سیستم فایل مثل .باشد می (مگابایت
درHDFSفایل برعکس .شوند می شکسته ثابت اندازه با مستقل های بلک به
در فایل یک که زمانی ،معمولی های سیستمHDFS،باشد کوچکتر بلک یک اندازه از
فایل یک مثال طور به .کند نمی اشغال را بلک یک فضای کل1در مگابایتیHDFS
بلک یک در که128حجم شود می ذخیره مگابایتی1نه و کند می اشغال را مگابایت
128.مگابایت
- 58. بند زمانYARN
بند زمانYARNنسخه در که باشد می هدوپ کلستر منابع مدیریت سیستم2
نویسی برنامه مدل سازی بهینه و توسعه برای هدوپMapReduce.شد ارائه
مثل پردازشی موتورهای دیگر از سیستم این همچنینSparkوTezپشتیبانی ...و
.کند می
ساختارYARN
- 60. بند زمانYARN
ها برنامه سازیپیاده
در هابرنامه سازیپیاده و ساخت در پیچیدگی وجود دلیل بهYARNاز استفاده با ،2
برای نخی تک نویسی برنامه همانند توانمی زیر ابزارYARN:نوشت برنامه
●Apache Slider:
مثل آماده شده توزیع های برنامه انتقال برای افزاری نرمHBaseبررویYARN
.باشد می دارا را گیری گزارش و مانیتورینگ همچون امکاناتی و باشد می
●Apache Twill:
افزارهای نرم سازی پیاده و ساخت فرآیند که است هدوپ برای انتزاعی سطحی
برروی شده توزیعYARN.کند می ساده را
- 66. پردازشی موتورApache Spark
اولیه تعریف
برای که باشد می شده توزیع پردازش های پلتفرم از یکی اسپارک آپاچی
.است شده طراحی (جریانی بال)داده سرعت با پردازشی عملیات اجرای
- 69. rdd = sc.textFile("s3://...")
words = rdd.flatMap(lambda x: x.split(" "))
result = words.map(lambda x:
(x,1)).reduceByKey(lambda x, y: x + y)
result.saveAsTextFile(outputFile)
پردازشی موتورApache Spark
مفهومRDDها داده بازیابی و ذخیره –
پایتون در اسپارک از استفاده با کلمات تعداد شمارش مثال
- 71. پردازشی موتورApache Spark
معرفیSpark SQL
باشد می ساختارمند نیمه و باساختار های داده را کار واسط کتابخانه این.باس های دادهبه اختار
فی و رکورد به مربوط مفاهیم همانند باشند اسکیما دارای که شود می گفته هایی دادهجداول در لد
ای رابطه.
- 72. پردازشی موتورApache Spark
مفهومDataFrame
یکDataFrameاختصار به یاDF،با است ای غیررابطه های دیتابیس در جدول مفهوم همانند
این و شود ایجاد داده کالن شده توزیع ورک فریم یک در تواند می جدول این که تفاوت اینها داده
کرد ترکیب مختلف ای داده منابع از ساختار بی های داده با توان می را.
myDF = spark.read.format(...)
- 73. پردازشی موتورApache Spark
ها داده نشست و بارگیری
پردازشی موتورApache Sparkپشتی ساخت درون صورت به ای داده منابع از مختلفی انواع ازبانی
کند می.عبارتنداز منابع این:
Apache Hive:برروی را خود های داده که است ای داده انباره یکHDFSای رابطه قالب با
کند می ذخیره.
Parquet:ب آن از استفاده با توان می که باشد می گرا ستون داده سازی ذخیره قالب یکسرعت ا
کرد پیدا دسترسی ها داده به باالتری بسیار.
- 76. پردازشی موتورApache Spark
کتابخانه با آشناییStreaming
کتابخانه ازStreamingج و بالدرنگ پردازش به نیاز که هایی برنامه نوشتن برای توان میریانی
کرد استفاده دارند.بالفاص ،رسیدن زمان در توان می را ها داده ،کتابخانه این از استفاده باپردازش له
کرد.
- 77. پردازشی موتورApache Spark
معماریStreaming
نام به انتزاعی کالس یک دارای کتابخانه اینDStreamیاDiscretized Streamباشد می
از ای دنباله کهRDDیابد می انتقال زمان در که است هایی.DStreamمنابع توسط تواند می
مانند گردد تولید مختلفی ای دادهFlume،Kafkaیا وHDFS.
- 78. پردازشی موتورApache Spark
شده بندی زمان عملیات
Dstreamکرد فراخوانی مختلفی زمانی فواصل در توان می را ها.مثال طور به:
ssc = StreamingContext(sc,1)