O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز

340 visualizações

Publicada em

Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز
مرجع هدوپ ایران
www.hadoop.ir
دانلود فیلم کارگاه از : download.hadoop.ir

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Introduction to Hadoop and Spark - اسلاید کارگاه آموزش هدوپ و اسپارک شیراز

  1. 1. ‫عملی‬ ‫کارگاه‬ ‫هدوپ‬ ‫آموزش‬ } ‫حمایت‬ ‫با‬ ‫ایران‬ ‫اطلعات‬ ‫فناوری‬ ‫سازمان‬ ‫ایران‬ ‫هدوپ‬ ‫مرجع‬ w . . . .ww hadoop ir www farafekr co hello@had . .oop ir info@farafekr co ‫فرافکر‬ ‫پردازان‬ ‫ایده‬ ‫افزار‬‫نرم‬ ‫مهندسی‬ ‫شرکت‬
  2. 2. ‫ساده‬ ‫زبان‬ ‫به‬ ‫هدوپ‬ ‫اول‬ ‫فصل‬
  3. 3. ‫جدید‬ ‫های‬ ‫چالش‬ = ‫جدید‬ ‫های‬‫حل‬ ‫راه‬ ‫از‬ ‫خارج‬ ‫ها‬‫آن‬ ‫پردازش‬ ‫و‬ ‫مدیریت‬ ‫که‬ ‫شود‬‫می‬ ‫گفته‬ ‫هایی‬‫داده‬ ‫به‬ .‫است‬ ‫موجود‬ ‫های‬‫سیستم‬ ‫و‬ ‫ها‬‫حل‬ ‫راه‬ ‫توانایی‬ ‫چیست؟‬ ‫داده‬ ‫کلن‬
  4. 4. ‫در‬ ‫مجازی‬ ‫فضای‬۶۰‫ثانیه‬ ‫چیست؟‬ ‫داده‬ ‫کلن‬
  5. 5. ‫ها‬ ‫داده‬ ‫رشد‬ 2013 2015 Unstructured Data 88% 300 Exabytes 80 Exabytes Structured Data 12% DatabaseApplicaton Backup & Archive Backup Storage Optons ‫چیست؟‬ ‫داده‬ ‫کلن‬
  6. 6. ‫چیست؟‬ ‫داده‬ ‫کلن‬ ‫یاد‬ ‫به‬ ‫شنوند‬ ‫می‬ ‫را‬ ‫واژه‬ ‫این‬ ‫که‬ ‫زمانی‬ ‫افراد‬ ‫از‬ ‫بسیاری‬ ‫زیاد‬ ‫وسعت‬‫یا‬ ‫و‬‫همان‬‫زیاد‬ ‫حجم‬.‫افتند‬‫می‬ ‫کلن‬ ‫های‬‫داده‬ ‫در‬‫فقط‬‫مو‬.‫نیست‬ ‫مطرح‬ ‫حجم‬ ‫ضوع‬
  7. 7. ‫اصلی‬ ‫فرعی‬ ‫ارزش‬‫درستی‬‫تنوع‬‫سرعت‬‫حجم‬ ‫چیست؟‬ ‫داده‬ ‫کلن‬
  8. 8. ‫کلن‬ ‫های‬‫داده‬ ‫بندی‬ ‫طبقه‬ ‫چیست؟‬ ‫داده‬ ‫کلن‬
  9. 9. ‫سازی‬ ‫ذخیره‬ ‫و‬ ‫تحلیل‬ ‫های‬‫سیستم‬
  10. 10. ‫ای‬ ‫غیررابطه‬ ‫و‬ ‫ای‬‫رابطه‬ ‫های‬‫داده‬ ‫پایگاه‬ ) ‫ای‬‫رابطه‬ ‫داده‬ ‫پایگاه‬Relational databases‫های‬‫پایگاه‬ ‫از‬ ‫دسته‬ ‫آن‬ ‫به‬ ( .‫باشند‬ ‫شده‬ ‫ایجاد‬ ‫و‬ ‫طراحی‬ ‫ای‬‫رابطه‬ ‫مدل‬ ‫اساس‬ ‫بر‬ ‫که‬ ‫شود‬‫می‬ ‫اطلقا‬ ‫داده‬ ‫تولد‬ ‫سال‬ ‫پدر‬ ‫نام‬ ‫شماره‬ ‫دانشجویی‬ ‫کامل‬ ‫نام‬ 13۶5 ‫جعفر‬ 9۰45879 ‫احمدیان‬ ‫علی‬ 13۶۶ ‫ایمان‬ 89۶5479 ‫بهرامی‬ ‫میلد‬ 13۶8 ‫مهدی‬ 9245789 ‫علوی‬ ‫علیرضا‬
  11. 11. ‫ای‬ ‫غیررابطه‬ ‫و‬ ‫ای‬‫رابطه‬ ‫های‬‫داده‬ ‫پایگاه‬ ‫مقایسه‬ ) ‫ای‬‫غیررابطه‬ ‫داده‬ ‫پایگاه‬-Non Relational databases‫از‬ ‫ای‬‫دسته‬ ‫به‬ ( ‫نحوه‬ ‫و‬ ‫ای‬‫رابطه‬ ‫مدل‬ ‫از‬ ‫ها‬‫داده‬ ‫سازی‬ ‫ذخیره‬ ‫برای‬ ‫که‬ ‫شود‬‫می‬ ‫گفته‬ ‫ها‬‫داده‬ ‫پایگاه‬ .‫نکند‬ ‫استفاده‬ ‫جدول‬ ‫صورت‬ ‫به‬ ‫ها‬‫داده‬ ‫نمایش‬ { _id:147963658, Name:'abc', Contact:{ Phone:'8984577', Email:'test@test.com' }, Address:{ address:'Fanavaran Street', City:'Tehran' } }
  12. 12. ‫معایب‬ ‫و‬ ‫مزایا‬ ‫ای‬‫رابطه‬ ‫داده‬ ‫پایگاه‬ :‫مزایا‬ 1.‫ساختار‬ ‫با‬ ‫های‬‫داده‬ ‫پردازش‬ ‫و‬ ‫ذخیره‬ ‫در‬ ‫قبول‬ ‫قابل‬ ‫کارایی‬ . 2.‫شده‬ ‫اثبات‬ ‫و‬ ‫شده‬ ‫شناخته‬ ‫متنوع‬ ‫ابزارهای‬ ‫وجود‬ . :‫معایب‬ 1.‫ضعیف‬ ‫پذیری‬ ‫توسعه‬ . 2.‫ثابت‬ ‫ای‬‫داده‬ ‫ساختار‬ .
  13. 13. ‫معایب‬ ‫و‬ ‫مزایا‬ ‫ای‬‫غیررابطه‬ ‫داده‬ ‫پایگاه‬ :‫مزایا‬ 1.‫ساختار‬ ‫بی‬ ‫های‬‫داده‬ ‫سازی‬ ‫ذخیره‬ ‫و‬ ‫پردازش‬ ‫در‬ ‫عالی‬ ‫کارایی‬ . 2.‫داده‬ ‫پایگاه‬ ‫در‬ ‫مکرر‬ ‫تغییر‬ ‫تحمل‬ ‫توانایی‬ . 3.‫ابری‬ ‫و‬ ‫شده‬ ‫توزیع‬ ‫های‬‫سیستم‬ ‫در‬ ‫کارایی‬ ‫بهترین‬ . :‫معایب‬ 1.‫رشد‬ ‫حال‬ ‫در‬ ‫همچنان‬ ‫موردنیاز‬ ‫ابزارهای‬ ‫و‬ ‫اندازی،نصب‬ ‫راه‬ . 2.‫خاص‬ ‫مسائل‬ ‫در‬ ‫پایین‬ ‫دهی‬ ‫پاسخ‬ ‫زمان‬ .
  14. 14. ‫است؟‬ ‫بهتر‬ ‫مدل‬ ‫کدام‬ !‫کدام‬ ‫هیچ‬
  15. 15. ‫کنیم؟‬ ‫استفاده‬ ‫ای‬ ‫رابطه‬ ‫ای‬ ‫داده‬ ‫های‬ ‫پایگاه‬ ‫از‬ ‫زمانی‬ ‫چه‬ 1.‫دارید‬ ‫جدول‬ ‫به‬ ‫نیاز‬ . 2.‫هستند‬ ‫روشن‬ ‫و‬ ‫ساده‬ ‫شما‬ ‫های‬ ‫داده‬ . 3.‫است‬ ‫مقداری‬ ‫تک‬ ‫جداول‬ ‫های‬ ‫فیلد‬ . 4.‫دارد‬ ‫یکپارچه‬ ‫و‬ ‫یکتا‬ ‫ساختاری‬ ‫شما‬ ‫های‬ ‫داده‬ .
  16. 16. ‫کنیم؟‬ ‫استفاده‬ ‫ای‬ ‫غیررابطه‬ ‫ای‬ ‫داده‬ ‫های‬ ‫پایگاه‬ ‫از‬ ‫زمانی‬ ‫چه‬ 1.‫رسد‬ ‫می‬ ‫بزرگی‬ ‫مقیاس‬ ‫به‬ ‫ثانیه‬ ‫از‬ ‫کسری‬ ‫در‬ ‫شما‬ ‫های‬ ‫داده‬ . 2.‫است‬ ‫پراکنده‬ ‫و‬ ‫ساختار‬ ‫بدون‬ ‫شما‬ ‫های‬ ‫داده‬ . 3‫به‬ ‫تبدیل‬ ‫ای‬ ‫داده‬ ‫فیلد‬ ‫هر‬ ‫است‬ ‫ممکن‬ ‫لحظه‬ ‫هر‬ .2،3‫بیشتر‬ ‫یا‬ ‫و‬ .‫شود‬ 4.‫است‬ ‫شده‬ ‫تشکیل‬ ‫مقادیر‬ ‫از‬ ‫ای‬ ‫آرایه‬ ‫از‬ ‫ای‬ ‫داده‬ ‫فیلد‬ ‫هر‬ . 5.‫هستید‬ ‫ها‬ ‫داده‬ ‫تداوم‬ ‫و‬ ‫پایداری‬ ‫نگران‬ . ۶.‫هستید‬ ‫سرور‬ ‫شدن‬ ‫دسترس‬ ‫از‬ ‫خارج‬ ‫نگران‬ . 7‫از‬ ‫میخواهید‬ ‫و‬ ‫است‬ ‫شده‬ ‫ذخیره‬ ‫ابری‬ ‫بستر‬ ‫در‬ ‫شما‬ ‫های‬ ‫داده‬ . .‫کنید‬ ‫استفاده‬ ‫شده‬ ‫توزیع‬ ‫های‬ ‫دیتابیس‬
  17. 17. ‫کنیم؟‬ ‫استفاده‬ ‫ای‬ ‫رابطه‬ ‫ای‬ ‫داده‬ ‫های‬ ‫پایگاه‬ ‫از‬ ‫زمانی‬ ‫چه‬ 1.‫دارید‬ ‫جدول‬ ‫به‬ ‫نیاز‬ . 2.‫هستند‬ ‫روشن‬ ‫و‬ ‫ساده‬ ‫شما‬ ‫های‬ ‫داده‬ . 3.‫است‬ ‫مقداری‬ ‫تک‬ ‫جداول‬ ‫های‬ ‫فیلد‬ . 4.‫دارد‬ ‫یکپارچه‬ ‫و‬ ‫یکتا‬ ‫ساختاری‬ ‫شما‬ ‫های‬ ‫داده‬ .
  18. 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. 19. :‫ای‬ ‫غیررابطه‬ ‫های‬‫داده‬ ‫پایگاه‬ ‫انواع‬ 1‫یا‬ ‫کلید-مقدار‬ .-Key Value 2‫یا‬ ‫سندگرا‬ .-Document Oriented 3‫یا‬ ‫گرا‬ ‫ستون‬ .-Column Oriented 4‫یا‬ ‫گراف‬ ‫بر‬ ‫مبتنی‬ .-Graph based 5‫یا‬ ‫ترکیبی‬ .Multi Model
  20. 20. ‫کلید-مقدار‬ ‫های‬‫داده‬ ‫پایگاه‬ ‫های‬‫جفت‬ ‫صورت‬ ‫به‬ ‫مقادیر‬ ‫تمامی‬ ‫کلید-مقدار‬ ‫های‬‫داده‬ ‫پایگاه‬ ‫در‬ ‫کلید‬ ‫یک‬ ‫دارای‬ ‫مقدار‬ ‫هر‬ ‫که‬ ‫صورت‬ ‫این‬ ‫به‬ .‫هستند‬ ‫مقدار‬ ‫و‬ ‫کلید‬ .‫است‬
  21. 21. ‫کلید-مقدار‬ ‫های‬‫داده‬ ‫پایگاه‬
  22. 22. ‫سندگرا‬ ‫های‬‫داده‬ ‫پایگاه‬ ‫یک‬ ‫عنوان‬ ‫به‬ ‫ما‬ ‫داده‬ ‫سطرهای‬ ‫تمامی‬ ‫سندگرا‬ ‫های‬‫داده‬ ‫پایگاه‬ ‫در‬ ‫ای‬‫مجموعه‬ ‫از‬ ‫شده‬ ‫تشکیل‬ ‫اسناد‬ ‫این‬ ‫تمامی‬ ‫و‬ ‫شوند‬‫می‬ ‫شناخته‬ ‫سند‬ .‫هستند‬ ‫کلید-مقدارها‬ { _id:147963658, Name:'abc', Contact:{ Phone:'8984577', Email:'test@test.com' }, Address:{ address:'Fanavaran Street', City:'Tehran' } }
  23. 23. ‫سندگرا‬ ‫های‬‫داده‬ ‫پایگاه‬
  24. 24. ‫گرا‬ ‫ستون‬ ‫های‬‫داده‬ ‫پایگاه‬ ،‫سطر‬ ‫جای‬ ‫به‬ ،‫ستون‬ ‫قالب‬ ‫در‬ ‫را‬ ‫محتوایش‬ ‫گرا‬ ‫ستون‬ ‫های‬‫داده‬ ‫پایگاه‬ ‫را‬ ‫خود‬ ‫خاص‬ ‫های‬‫ستون‬ ‫داده‬ ‫از‬ ‫سطر‬ ‫هر‬ ‫به‬ ‫توان‬‫می‬ .‫نماید‬‫می‬ ‫ذخیره‬ .‫داد‬ ‫نسبت‬
  25. 25. ‫گرا‬ ‫ستون‬ ‫های‬‫داده‬ ‫پایگاه‬
  26. 26. ‫گراف‬ ‫بر‬ ‫مبتنی‬ ‫های‬‫داده‬ ‫پایگاه‬ ‫که‬ ‫کند‬‫می‬ ‫پیروی‬ ‫گراف‬ ‫تئوری‬ ‫از‬ ‫گراف‬ ‫بر‬ ‫مبتنی‬ ‫های‬‫داده‬ ‫پایگاه‬ ‫توسط‬ ‫ها‬‫آن‬ ‫بین‬ ‫ارتباط‬ ‫و‬ ‫ها‬‫گره‬ ‫همان‬ ‫یا‬ ‫داده‬ ‫نقاط‬ ‫براساس‬ ‫ها‬‫داده‬ .‫آیند‬‫می‬ ‫در‬ ‫نمایش‬ ‫به‬ ‫ها‬ ‫یال‬
  27. 27. ‫گراف‬ ‫بر‬ ‫مبتنی‬ ‫های‬‫داده‬ ‫پایگاه‬
  28. 28. ‫ترکیبی‬ ‫های‬‫داده‬ ‫پایگاه‬ ‫ها‬‫داده‬ ‫و‬ ‫شوند‬‫نمی‬ ‫خاصی‬ ‫مدل‬ ‫به‬ ‫محدود‬ ‫ها‬‫داده‬ ‫پایگاه‬ ‫از‬ ‫نوع‬ ‫این‬ .‫کرد‬ ‫ذخیره‬ ‫مختلفی‬ ‫انواع‬ ‫به‬ ‫توان‬‫می‬ ‫را‬
  29. 29. ‫خلصه‬ ‫صورت‬ ‫به‬ ‫هدوپ‬ ‫هدوپ‬ ‫توان‬‫می‬ ‫را‬ ‫داده‬ ‫تحلیلی‬ ‫های‬‫چهارچوب‬ ‫ترین‬ ‫بزرگ‬ ‫و‬ ‫ترین‬‫مهم‬ ‫از‬ ‫یکی‬ .‫نامید‬ ‫که‬ ‫است‬ ‫هایی‬ ‫کتابخانه‬ ‫و‬ ‫افزارها‬ ‫نرم‬ ‫از‬ ‫ای‬ ‫مجموعه‬ ‫یا‬ ‫ورک‬ ‫فریم‬ ‫یک‬ ‫هدوپ‬ ‫در‬ .‫میکند‬ ‫فراهم‬ ‫را‬ ‫شده‬ ‫توزیع‬ ‫های‬ ‫داده‬ ‫از‬ ‫عظیمی‬ ‫حجم‬ ‫پردازش‬ ‫کار‬ ‫و‬ ‫ساز‬ ‫واقع‬Hadoop‫تا‬ ‫شده‬ ‫طراحی‬ ‫که‬ ‫کرد‬ ‫تشبیه‬ ‫عامل‬ ‫سیستم‬ ‫یک‬ ‫به‬ ‫توان‬ ‫می‬ ‫را‬ ‫مدیریت‬ ‫و‬ ‫پردازش‬ ‫مختلف‬ ‫های‬ ‫ماشین‬ ‫روی‬ ‫بر‬ ‫را‬ ‫ها‬ ‫داده‬ ‫از‬ ‫زیادی‬ ‫حجم‬ ‫بتواند‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫توان‬ ‫می‬ ‫و‬ ‫نیست‬ ‫قیمت‬ ‫گران‬ ‫کامپیوترهای‬ ‫نیازمند‬ ‫هدوپ‬ .‫کند‬ .‫گیرد‬ ‫قرار‬ ‫استفاده‬ ‫مورد‬ ‫معمول‬ ‫و‬ ‫ارزان‬ ‫کامپیوترهای‬
  30. 30. ‫خلصه‬ ‫صورت‬ ‫به‬ ‫هدوپ‬
  31. 31. ‫دوم‬ ‫فصل‬ ‫نگاشت،کاهش‬ ‫مدل‬ MapReduce
  32. 32. ‫ای‬ ‫داده‬ ‫مدل‬ ‫یا‬ ‫نگاشت،کاهش‬MapReduce‫های‬ ‫داده‬ ‫پردازش‬ ‫برای‬ ‫نویسی‬ ‫برنامه‬ ‫مدل‬ ‫یک‬ ‫تواند‬ ‫می‬ ،‫سادگی‬ ‫عین‬ ‫در‬ ‫مدل‬ ‫این‬ .‫باشد‬ ‫می‬ ‫موازی‬ ‫و‬ ‫شده‬ ‫توزیع‬ ‫صورت‬ ‫به‬ ‫کلن‬ ،‫مختلف‬ ‫های‬ ‫الگوریتم‬ ‫در‬ ‫ساختار‬ ‫پیچیدگی‬ ‫دلیل‬ ‫به‬ ‫زیرا‬ .‫باشد‬ ‫پیچیده‬ ‫بسیار‬ .‫شود‬ ‫می‬ ‫غیرممکن‬ ‫مدل‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫سازی‬ ‫پیاده‬ ‫توانایی‬ ‫یا‬ ‫نگاشت،کاهش‬MapReduce‫های‬ ‫داده‬ ‫پردازش‬ ‫برای‬ ‫نویسی‬ ‫برنامه‬ ‫مدل‬ ‫یک‬ ‫تواند‬ ‫می‬ ،‫سادگی‬ ‫عین‬ ‫در‬ ‫مدل‬ ‫این‬ .‫باشد‬ ‫می‬ ‫موازی‬ ‫و‬ ‫شده‬ ‫توزیع‬ ‫صورت‬ ‫به‬ ‫کلن‬ ،‫مختلف‬ ‫های‬ ‫الگوریتم‬ ‫در‬ ‫ساختار‬ ‫پیچیدگی‬ ‫دلیل‬ ‫به‬ ‫زیرا‬ .‫باشد‬ ‫پیچیده‬ ‫بسیار‬ .‫شود‬ ‫می‬ ‫غیرممکن‬ ‫مدل‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫سازی‬ ‫پیاده‬ ‫توانایی‬ ‫مدل‬MR‫به‬ ‫را‬ ‫مسئله‬2‫اصلی‬ ‫فاز‬Map‫و‬Reduce‫از‬ ‫هرکدام‬ .‫کند‬ ‫می‬ ‫تقسیم‬ ‫توسط‬ ‫آنها‬ ‫نوع‬ ‫که‬ ‫باشد‬ ‫می‬ ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫کلید-مقدارهای‬ ‫جفت‬ ‫دارای‬ ‫فازها‬ ‫این‬ ‫توابع‬ ‫بایست‬ ‫می‬ ‫نویس‬ ‫برنامه‬ ‫همچنین‬ .‫گردد‬ ‫می‬ ‫تعیین‬ ‫نویس‬ ‫برنامه‬Map‫و‬ Reduce.‫کند‬ ‫سازی‬ ‫پیاده‬ ‫هم‬ ‫را‬
  33. 33. ‫نگاه‬ ‫یک‬ ‫در‬ ‫نگاشت،کاهش‬ ‫مدل‬
  34. 34. ‫یا‬ ‫نگاشت‬ ‫متد‬Map ‫توسط‬ ‫شده‬ ‫تعیین‬ ‫اندازه‬ ‫به‬ ‫را‬ ‫ورودی‬ ‫داده‬ ‫هدوپ‬Input Split‫و‬ ‫کند‬‫می‬ ‫تقسیم‬ ‫یا‬ ‫نگاشت‬ ‫متد‬ ،‫ها‬‫قسمت‬ ‫این‬ ‫از‬ ‫هرکدام‬ ‫برای‬Map‫نوشته‬ ‫کاربر‬ ‫توسط‬ ‫که‬ ‫ای‬ .‫کند‬‫می‬ ‫ایجاد‬ ‫را‬ ‫است‬ ‫شده‬ ‫اندازه‬Input Split‫کل‬ ‫کارایی‬ ‫در‬Job‫متعادل‬ ‫مقدار‬ ‫این‬ ‫اگر‬ .‫دارد‬ ‫زیادی‬ ‫تأثیر‬ ،‫باشد‬ ‫کم‬ ‫بسیار‬ ‫میزان‬ ‫این‬ ‫اگر‬ ‫اما‬ .‫یافت‬ ‫خواهد‬ ‫افزایش‬ ‫موازی‬ ‫بار‬ ‫توازن‬ ‫باشد‬ ‫مدیریت‬Task‫کارایی‬ ‫ورودی‬ ‫های‬‫تکه‬ ‫و‬ ‫ها‬Job.‫دهد‬‫می‬ ‫کاهش‬ ‫را‬ ‫میزان‬ ‫بهترین‬Input Split) ‫داده‬ ‫بلوک‬ ‫یک‬ ‫اندازه‬ ‫به‬128.‫باشد‬‫می‬ (‫مگابایت‬ ‫یا‬ ‫تکه‬ ‫هر‬ ‫برای‬ ‫که‬ ‫زیرا‬Split‫متد‬ ‫یک‬Map.‫شود‬‫می‬ ‫ایجاد‬
  35. 35. ‫مفهوم‬DLO‫داده‬ ‫محلی‬ ‫سازی‬ ‫بهینه‬ ‫یا‬ ‫متد‬ ‫که‬ ‫کند‬ ‫می‬ ‫تلش‬ ‫هدوپ‬Map‫پردازشی‬ ‫داده‬ ‫که‬ ‫کند‬ ‫اجرا‬ ‫ماشینی‬ ‫برروی‬ ‫را‬ ‫رفتن‬ ‫هدر‬ ‫به‬ ‫از‬ ‫موضوع‬ ‫این‬ ‫که‬ ‫زیرا‬ .‫باشد‬ ‫داشته‬ ‫وجود‬ ‫سیستم‬ ‫همان‬ ‫برروی‬ ‫آن‬ ‫مفهوم‬ ‫این‬ ‫به‬ .‫کند‬ ‫می‬ ‫جلوگیری‬ ‫شبکه‬ ‫ارزش‬ ‫با‬ ‫باند‬ ‫پهنای‬‫داده‬ ‫محلی‬ ‫سازی‬ ‫بهینه‬ .‫شود‬ ‫می‬ ‫گفته‬ ‫متد‬ ‫اجرای‬ ‫هنگام‬ ‫در‬ ‫که‬ ‫صورت‬ ‫این‬ ‫به‬Map‫آن‬ ‫توسط‬ ‫بایست‬ ‫می‬ ‫که‬ ‫هایی‬ ‫داده‬ .‫است‬ ‫موجود‬ ‫محلی‬ ‫ماشین‬ ‫در‬ ‫گیرد‬ ‫قرار‬ ‫پردازش‬ ‫مورد‬ ‫متد‬ ‫متد‬ ‫در‬ ‫فقط‬ ‫مکانیزم‬ ‫این‬ ‫که‬ ‫کنید‬ ‫توجه‬Map‫متد‬ ‫و‬ ‫دارد‬ ‫وجود‬Reduce‫به‬ ‫قادر‬ .‫نیست‬ ‫اینکار‬ ‫انجام‬
  36. 36. ‫یا‬ ‫کاهش‬ ‫متد‬Reduce ‫یا‬ ‫کاهش‬ ‫متد‬ ‫در‬Reduce‫متد‬ ‫خروجی‬Map‫شود‬ ‫می‬ ‫دریافت‬ ‫ورودی‬ ‫عنوان‬ ‫به‬ ‫متد‬ ‫یک‬ ‫اگر‬ ‫که‬ ‫صورت‬ ‫این‬ ‫به‬Reduce‫همه‬ ‫خروجی‬ ‫باشیم‬ ‫داشته‬Map‫به‬ ‫ها‬ ‫متد‬ ‫یک‬Reduce.‫شود‬ ‫می‬ ‫ارسال‬ ‫ماشین‬ ‫یک‬ ‫برروی‬ ‫متد‬ ‫چند‬ ‫اگر‬ ‫اما‬Reduce‫هر‬ ‫خروجی‬ ،‫شود‬ ‫اجرا‬Map‫متدهای‬ ‫بین‬Reduce ‫شود‬ ‫سازی‬ ‫پیاده‬ ‫نویس‬ ‫برنامه‬ ‫توسط‬ ‫بایست‬ ‫می‬ ‫نیز‬ ‫متد‬ ‫این‬ .‫شود‬ ‫می‬ ‫کپی‬ ‫و‬ ‫توزیع‬ ‫برروی‬ ‫متد‬ ‫این‬ ‫خروجی‬ ‫نهایت‬ ‫در‬ ‫و‬HDFS.‫میگیرد‬ ‫قرار‬
  37. 37. ‫یا‬ ‫کاهش‬ ‫متد‬Reduce ‫برنامه‬ ‫یک‬MapReduce‫کاهش‬ ‫متد‬ ‫یک‬ ‫با‬
  38. 38. ‫یا‬ ‫کاهش‬ ‫متد‬Reduce ‫برنامه‬ ‫یک‬MapReduce‫کاهش‬ ‫متد‬ ‫چند‬ ‫با‬
  39. 39. ‫یا‬ ‫کاهش‬ ‫متد‬Reduce ‫برنامه‬ ‫یک‬MapReduce‫کاهش‬ ‫متد‬ ‫بدون‬
  40. 40. ‫توابع‬Combiner ‫های‬ ‫برنامه‬MapReduce‫و‬ ‫هستند‬ ‫محدود‬ ‫کلستر‬ ‫در‬ ‫موجود‬ ‫باند‬ ‫پهنای‬ ‫لحاظ‬ ‫از‬ ‫وظایف‬ ‫بین‬ ‫ها‬ ‫داده‬ ‫تبادل‬ ‫میزان‬ ‫بایست‬ ‫می‬Map‫و‬Reduce.‫رسد‬ ‫حداقل‬ ‫به‬ ‫تابع‬ ‫تا‬ ‫دهد‬ ‫می‬ ‫را‬ ‫امکان‬ ‫این‬ ‫کاربر‬ ‫به‬ ‫هدوپ‬Combiner‫خروجی‬ ‫برروی‬Map ‫متد‬ ‫ورودی‬ ‫و‬ ‫شود‬ ‫اجرا‬Reduce‫واقع‬ ‫در‬ .‫کند‬ ‫پردازش‬ ‫رسیدن‬ ‫از‬ ‫پیش‬ ‫را‬ ‫بار‬ ‫چند‬ ‫تابع‬ ‫این‬ ‫که‬ ‫دهد‬ ‫نمی‬ ‫تضمین‬ ‫هدوپ‬ ‫ولی‬ ‫است‬ ‫سازی‬ ‫بهینه‬ ‫تابع‬ ‫این‬ ‫وظیفه‬ ‫هر‬ ‫خروجی‬ ‫برروی‬Map.‫شود‬ ‫می‬ ‫اجرا‬ ‫تابع‬ ‫واقع‬ ‫در‬Combiner‫توابع‬ ‫خروجی‬Map‫کاری‬ ‫و‬ ‫کند‬ ‫می‬ ‫پردازش‬ ‫پیش‬ ‫را‬ ‫فاز‬ ‫مشابه‬Reduce.‫دهد‬ ‫می‬ ‫انجام‬ ‫را‬
  41. 41. ‫عمل‬ ‫در‬ ‫کاهش‬ ‫و‬ ‫نگاشت‬ ‫برنامه‬ ‫یک‬ ‫اجرای‬
  42. 42. ‫جاوا‬ ‫غیر‬ ‫های‬‫زبان‬ ‫در‬ ‫کاهش‬ ،‫نگاشت‬ ‫مدل‬ ‫کتابخانه‬ ‫استفاده‬ ‫با‬Hadoop Streaming‫های‬ ‫برنامه‬ ‫توان‬ ‫می‬MapReduce ‫از‬ ‫کتابخانه‬ ‫این‬ .‫کرد‬ ‫سازی‬ ‫پیاده‬ ‫هدوپ‬ ‫برای‬ ‫جاوا‬ ‫از‬ ‫غیر‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫هر‬ ‫با‬ ‫را‬ ‫استاندارد‬ ‫جریان‬ ‫واسط‬Unix‫خروجی‬ ‫و‬ ‫ورودی‬ ‫که‬ ‫صورت‬ ‫این‬ ‫به‬ ‫کند‬ ‫می‬ ‫استفاده‬ ‫برنامه‬MapReduce‫طریق‬ ‫از‬ ‫بایست‬ ‫می‬ ‫شما‬Standard Input‫یا‬stdin‫و‬ Standard Output‫یا‬stdout.‫شود‬ ‫پردازش‬ ‫و‬ ‫دریافت‬
  43. 43. ‫جاوا‬ ‫غیر‬ ‫های‬‫زبان‬ ‫در‬ ‫کاهش‬ ،‫نگاشت‬ ‫مدل‬ import sys for line in sys.stdin: line = line.strip() words = line.split() for word in words: print '%st%s' % (word,1) ‫زیر‬ ‫صورت‬ ‫به‬ (‫کلمات‬ ‫شمارش‬ ‫پایتون)مثال‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬ ‫در‬ ‫نگاشت‬ ‫متد‬ ‫ساختار‬ :‫است‬
  44. 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. 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
  46. 46. ‫سوم‬ ‫فصل‬ ‫هدوپ‬ ‫شده‬ ‫توزیع‬ ‫فایل‬ ‫سیستم‬ HDFS
  47. 47. ‫مفهوم‬HDFS ‫با‬ ‫را‬ ‫بزرگ‬ ‫بسیار‬ ‫های‬ ‫فایل‬ ‫تا‬ ‫است‬ ‫شده‬ ‫طراحی‬ ‫هدوپ‬ ‫شده‬ ‫توزیع‬ ‫فایل‬ ‫سیستم‬ ‫های‬ ‫فایل‬ ‫از‬ ‫منظور‬ .‫کند‬ ‫اجرا‬ ‫معمولی‬ ‫کامپیوترهای‬ ‫برروی‬ ،‫جریانی‬ ‫دسترسی‬ ‫الگوی‬ ‫بر‬ ‫بالغ‬ ‫حجمی‬ ،‫بزرگ‬1۰۰‫از‬ ‫منظور‬ ‫و‬ ‫است‬ ‫پتابایت‬ ‫و‬ ‫ترابایت‬ ‫و‬ ‫گیگابایت‬ ،‫مگابایت‬ ‫ها‬ ‫یک‬ .‫است‬ ‫بار‬ ‫چند‬ ‫خواندن‬ ‫و‬ ‫بار‬ ‫یک‬ ‫نوشتن‬ ‫الگوی‬ ، ‫ها‬ ‫داده‬ ‫جریانی‬ ‫دسترسی‬ ‫الگوی‬ ‫های‬ ‫تحلیل‬ ‫آن‬ ‫برروی‬ ‫سپس‬ ‫و‬ ‫شود‬ ‫می‬ ‫کپی‬ ‫یا‬ ‫و‬ ‫آوری‬ ‫جمع‬ ‫معمول‬ ‫طور‬ ‫به‬ ‫دیتاست‬ .‫شود‬ ‫می‬ ‫انجام‬ ‫مشخصی‬ ‫زمانی‬ ‫های‬ ‫بازه‬ ‫در‬ ‫مختلفی‬ .‫نیست‬ ‫قدیمی‬ ‫و‬ ‫قیمت‬ ‫ارزان‬ ‫کامپیوترهای‬ ،‫معمولی‬ ‫کامپیوترهای‬ ‫از‬ ‫منظور‬ ‫همچنین‬ .‫نیست‬ ‫بال‬ ‫اعتماد‬ ‫قابلیت‬ ‫با‬ ‫قیمت‬ ‫گران‬ ‫سرورهای‬ ‫یا‬ ‫و‬ ‫کامپیوترها‬ ‫به‬ ‫نیاز‬ ‫هدوپ‬ ‫دارد‬ ‫وجود‬ ‫بازار‬ ‫که‬ ‫معمولی‬ ‫سرورهای‬ ‫و‬ ‫کامپیوترها‬ ‫برروی‬ ‫تا‬ ‫است‬ ‫شده‬ ‫طراحی‬ ‫هدوپ‬ .‫کند‬ ‫کار‬ ‫کلی‬ ‫تعریف‬HDFS
  48. 48. ‫مفهوم‬HDFS ●‫ها‬ ‫ده‬ ‫حدود‬ ‫تاخیر)در‬ ‫با‬ ‫دسترسی‬ ‫نیازمند‬ ‫که‬ ‫هایی‬ ‫برنامه‬ : ‫کم‬ ‫تأخیر‬ ‫با‬ ‫دسترسی‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫دقت‬ .‫باشد‬ ‫می‬ (‫ثانیه‬ ‫میلی‬HDFS‫عملیاتی‬ ‫توان‬ ‫افزایش‬ ‫برای‬ ‫و‬ ‫بسیاربال‬ ‫سرعت‬ ‫نیازمند‬ ‫که‬ ‫هایی‬ ‫برنامه‬ ‫در‬ ‫آن‬ ‫از‬ ‫توان‬ ‫نمی‬ ‫و‬ ‫است‬ ‫شده‬ ‫طراحی‬ .‫کرد‬ ‫استفاده‬ ‫هستند‬ ‫تاخیرکم‬ ●‫هدوپ)به‬ ‫بلک‬ ‫یک‬ ‫از‬ ‫کوچکتر‬ ‫اندازه‬ ‫با‬ ‫فایلی‬ ‫به‬ ‫کوچک‬ ‫فایل‬ ‫یک‬ : ‫کوچک‬ ‫های‬‫فایل‬ ‫فرض‬ ‫پیش‬ ‫صورت‬۶4‫خواندن‬ ‫عملیات‬ ‫اینکه‬ ‫دلیل‬ ‫به‬ .‫شود‬ ‫می‬ ‫گفته‬ (‫مگابایت‬ ‫نیازمند‬Seek‫است‬ ‫داده‬ ‫های‬ ‫گره‬ ‫از‬ ‫زیادی‬ ‫های‬ ‫بازخوانی‬ ‫و‬HDFS‫کارایی‬ .‫داشت‬ ‫نخواهد‬ ‫مناسبی‬ ●‫در‬ ‫ها‬ ‫فایل‬ : ‫همزمان‬ ‫نوشتن‬HDFS‫به‬ ‫شود‬ ‫نوشته‬ ‫تواند‬ ‫می‬ ‫نویسنده‬ ‫یک‬ ‫توسط‬ ‫تغییرات‬ ‫آنها‬ ‫در‬ ‫و‬ ‫بازکرد‬ ‫نویسنده‬ ‫چند‬ ‫توسط‬ ‫را‬ ‫فایل‬ ‫یک‬ ‫توان‬ ‫نمی‬ ‫که‬ ‫صورت‬ ‫این‬ .‫شود‬ ‫پیشتیبانی‬ ‫آینده‬ ‫در‬ ‫است‬ ‫ممکن‬ ‫ویژگی‬ ‫این‬ .‫کرد‬ ‫ایجاد‬ ‫زمانی‬ ‫چه‬HDFS‫نیست؟‬ ‫مناسبی‬ ‫انتخاب‬
  49. 49. ‫مفهوم‬HDFS ‫ها‬ ‫بلک‬ ‫است‬ ‫داده‬ ‫از‬ ‫حداقلی‬ ‫میزان‬ ‫بلک‬ ‫هر‬ ‫واقع‬ ‫در‬ .‫باشد‬ ‫می‬ ‫بلک‬ ‫اندازه‬ ‫دارای‬ ‫دیسک‬ ‫هر‬ ‫کیلوبایت‬ ‫چند‬ ‫از‬ ‫معمول‬ ‫سیستم‬ ‫فایل‬ ‫های‬ ‫بلک‬ .‫شود‬ ‫نوشته‬ ‫یا‬ ‫خوانده‬ ‫تواند‬ ‫می‬ ‫که‬ .‫بنویسد‬ ‫و‬ ‫بخواند‬ ‫را‬ ‫ها‬ ‫فایل‬ ‫تواند‬ ‫می‬ ‫سیستم‬ ‫فایل‬ ‫که‬ ‫شود‬ ‫می‬ ‫تشکیل‬ ‫در‬HDFS‫در‬ ‫بلک‬ ‫اندازه‬ ‫که‬ ‫تفاوت‬ ‫این‬ ‫با‬ ‫دارد‬ ‫وجود‬ ‫بلک‬ ‫مقوله‬ ‫هم‬HDFS‫بزرگ‬ ‫فرض‬ ‫پیش‬ ‫صورت‬ ‫تر)به‬128‫ها‬ ‫فایل‬ ،‫معمولی‬ ‫سیستم‬ ‫فایل‬ ‫مثل‬ .‫باشد‬ ‫می‬ (‫مگابایت‬ ‫در‬HDFS‫فایل‬ ‫برعکس‬ .‫شوند‬ ‫می‬ ‫شکسته‬ ‫ثابت‬ ‫اندازه‬ ‫با‬ ‫مستقل‬ ‫های‬ ‫بلک‬ ‫به‬ ‫در‬ ‫فایل‬ ‫یک‬ ‫که‬ ‫زمانی‬ ،‫معمولی‬ ‫های‬ ‫سیستم‬HDFS،‫باشد‬ ‫کوچکتر‬ ‫بلک‬ ‫یک‬ ‫اندازه‬ ‫از‬ ‫فایل‬ ‫یک‬ ‫مثال‬ ‫طور‬ ‫به‬ .‫کند‬ ‫نمی‬ ‫اشغال‬ ‫را‬ ‫بلک‬ ‫یک‬ ‫فضای‬ ‫کل‬1‫در‬ ‫مگابایتی‬HDFS ‫بلک‬ ‫یک‬ ‫در‬ ‫که‬128‫حجم‬ ‫شود‬ ‫می‬ ‫ذخیره‬ ‫مگابایتی‬1‫نه‬ ‫و‬ ‫کند‬ ‫می‬ ‫اشغال‬ ‫را‬ ‫مگابایت‬ 128.‫مگابایت‬
  50. 50. ‫مفهوم‬HDFS ‫ها‬ ‫بلک‬ ‫در‬ ‫ها‬‫فایل‬ ‫های‬ ‫بلک‬ ‫لیست‬ ‫زیر‬ ‫دستور‬HDFS:‫دهد‬‫می‬ ‫نشان‬ ‫را‬ $ hdfs fsck / -files -blocks
  51. 51. ‫ورودی‬ ‫فایل‬ ) ‫داده‬ ‫گره‬ ‫و‬ ‫نام‬ ‫گره‬NameNode‫و‬DataNode(
  52. 52. ) ‫داده‬ ‫گره‬ ‫و‬ ‫نام‬ ‫گره‬NameNode‫و‬DataNode(
  53. 53. ) ‫داده‬ ‫گره‬ ‫و‬ ‫نام‬ ‫گره‬NameNode‫و‬DataNode(
  54. 54. ‫فرمان‬ ‫خط‬ ‫واسط‬ ‫با‬ ‫کار‬HDFS
  55. 55. ‫از‬ ‫خواندن‬ ‫عملیات‬ ‫بررسی‬HDFS
  56. 56. ‫در‬ ‫نوشتن‬ ‫عملیات‬ ‫بررسی‬HDFS
  57. 57. ‫چهارم‬ ‫فصل‬ ‫بند‬ ‫زمان‬YARN
  58. 58. ‫بند‬ ‫زمان‬YARN ‫بند‬ ‫زمان‬YARN‫نسخه‬ ‫در‬ ‫که‬ ‫باشد‬ ‫می‬ ‫هدوپ‬ ‫کلستر‬ ‫منابع‬ ‫مدیریت‬ ‫سیستم‬2 ‫نویسی‬ ‫برنامه‬ ‫مدل‬ ‫سازی‬ ‫بهینه‬ ‫و‬ ‫توسعه‬ ‫برای‬ ‫هدوپ‬MapReduce.‫شد‬ ‫ارائه‬ ‫مثل‬ ‫پردازشی‬ ‫موتورهای‬ ‫دیگر‬ ‫از‬ ‫سیستم‬ ‫این‬ ‫همچنین‬Spark‫و‬Tez‫پشتیبانی‬ ...‫و‬ .‫کند‬ ‫می‬ ‫ساختار‬YARN
  59. 59. ‫بند‬ ‫زمان‬YARN ‫در‬ ‫برنامه‬ ‫اجرای‬ ‫ساختار‬YARN
  60. 60. ‫بند‬ ‫زمان‬YARN ‫ها‬ ‫برنامه‬ ‫سازی‬‫پیاده‬ ‫در‬ ‫ها‬‫برنامه‬ ‫سازی‬‫پیاده‬ ‫و‬ ‫ساخت‬ ‫در‬ ‫پیچیدگی‬ ‫وجود‬ ‫دلیل‬ ‫به‬YARN‫از‬ ‫استفاده‬ ‫با‬ ،2 ‫برای‬ ‫نخی‬ ‫تک‬ ‫نویسی‬ ‫برنامه‬ ‫همانند‬ ‫توان‬‫می‬ ‫زیر‬ ‫ابزار‬YARN:‫نوشت‬ ‫برنامه‬ ●Apache Slider: ‫مثل‬ ‫آماده‬ ‫شده‬ ‫توزیع‬ ‫های‬ ‫برنامه‬ ‫انتقال‬ ‫برای‬ ‫افزاری‬ ‫نرم‬HBase‫برروی‬YARN .‫باشد‬ ‫می‬ ‫دارا‬ ‫را‬ ‫گیری‬ ‫گزارش‬ ‫و‬ ‫مانیتورینگ‬ ‫همچون‬ ‫امکاناتی‬ ‫و‬ ‫باشد‬ ‫می‬ ●Apache Twill: ‫افزارهای‬ ‫نرم‬ ‫سازی‬ ‫پیاده‬ ‫و‬ ‫ساخت‬ ‫فرآیند‬ ‫که‬ ‫است‬ ‫هدوپ‬ ‫برای‬ ‫انتزاعی‬ ‫سطحی‬ ‫برروی‬ ‫شده‬ ‫توزیع‬YARN.‫کند‬ ‫می‬ ‫ساده‬ ‫را‬
  61. 61. ‫بند‬ ‫زمان‬YARN ‫بندی‬ ‫زمان‬ ‫اصول‬ ‫بندی‬ ‫زمان‬FIFO:
  62. 62. ‫بند‬ ‫زمان‬YARN ‫بندی‬ ‫زمان‬ ‫اصول‬ ‫بندی‬ ‫زمان‬Capacity: (‫فرض‬ ‫)پیش‬
  63. 63. ‫بند‬ ‫زمان‬YARN ‫بندی‬ ‫زمان‬ ‫اصول‬ ‫بندی‬ ‫زمان‬Fair:
  64. 64. <property> <name>yarn.resourcemanager.scheduler.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager. scheduler.fair.FairScheduler</value> </property> ‫بند‬ ‫زمان‬YARN ‫بندی‬ ‫زمان‬ ‫اصول‬ ‫تنظیمات‬ ‫در‬ ‫بند‬ ‫زمان‬ ‫نوع‬ ‫انتخاب‬ ‫برای‬- .yarn site xml‫کلید‬ ‫بایست‬ ‫می‬ : ‫نمایید‬ ‫وارد‬ ‫را‬ ‫زیر‬
  65. 65. ‫پنجم‬ ‫فصل‬ ‫پردازشی‬ ‫موتور‬ Apache Spark
  66. 66. ‫پردازشی‬ ‫موتور‬Apache Spark ‫اولیه‬ ‫تعریف‬ ‫برای‬ ‫که‬ ‫باشد‬ ‫می‬ ‫شده‬ ‫توزیع‬ ‫پردازش‬ ‫های‬ ‫پلتفرم‬ ‫از‬ ‫یکی‬ ‫اسپارک‬ ‫آپاچی‬ .‫است‬ ‫شده‬ ‫طراحی‬ (‫جریانی‬ ‫بال)داده‬ ‫سرعت‬ ‫با‬ ‫پردازشی‬ ‫عملیات‬ ‫اجرای‬
  67. 67. ‫پردازشی‬ ‫موتور‬Apache Spark ‫اسپارک‬ ‫در‬ ‫برنامه‬ ‫اجرای‬ ‫روند‬
  68. 68. lines = sc.textFile("README.md") lines.count() 127 lines.first() u'# Apache Spark' ‫پردازشی‬ ‫موتور‬Apache Spark ‫مفهوم‬RDD ‫یک‬RDD‫به‬ ‫شبکه‬ ‫های‬‫ماشین‬ ‫برروی‬ ‫که‬ ‫است‬ ‫ای‬‫داده‬ ‫اقلم‬ ‫از‬ ‫مجموعه‬ .‫میگیرد‬ ‫قرار‬ ‫شده‬ ‫توزیع‬ ‫صورت‬
  69. 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‫ها‬ ‫داده‬ ‫بازیابی‬ ‫و‬ ‫ذخیره‬ – ‫پایتون‬ ‫در‬ ‫اسپارک‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫کلمات‬ ‫تعداد‬ ‫شمارش‬ ‫مثال‬
  70. 70. ‫ششم‬ ‫فصل‬:‫پردازشی‬ ‫موتور‬ ‫ادامه‬Apache Spark
  71. 71. ‫پردازشی‬ ‫موتور‬Apache Spark ‫معرفی‬Spark SQL ‫باشد‬ ‫می‬ ‫ساختارمند‬ ‫نیمه‬ ‫و‬ ‫باساختار‬ ‫های‬ ‫داده‬ ‫را‬ ‫کار‬ ‫واسط‬ ‫کتابخانه‬ ‫این‬.‫باس‬ ‫های‬ ‫داده‬‫به‬ ‫اختار‬ ‫فی‬ ‫و‬ ‫رکورد‬ ‫به‬ ‫مربوط‬ ‫مفاهیم‬ ‫همانند‬ ‫باشند‬ ‫اسکیما‬ ‫دارای‬ ‫که‬ ‫شود‬ ‫می‬ ‫گفته‬ ‫هایی‬ ‫داده‬‫جداول‬ ‫در‬ ‫لد‬ ‫ای‬ ‫رابطه‬.
  72. 72. ‫پردازشی‬ ‫موتور‬Apache Spark ‫مفهوم‬DataFrame ‫یک‬DataFrame‫اختصار‬ ‫به‬ ‫یا‬DF،‫با‬ ‫است‬ ‫ای‬ ‫غیررابطه‬ ‫های‬ ‫دیتابیس‬ ‫در‬ ‫جدول‬ ‫مفهوم‬ ‫همانند‬ ‫این‬ ‫و‬ ‫شود‬ ‫ایجاد‬ ‫داده‬ ‫کالن‬ ‫شده‬ ‫توزیع‬ ‫ورک‬ ‫فریم‬ ‫یک‬ ‫در‬ ‫تواند‬ ‫می‬ ‫جدول‬ ‫این‬ ‫که‬ ‫تفاوت‬ ‫این‬‫ها‬ ‫داده‬ ‫کرد‬ ‫ترکیب‬ ‫مختلف‬ ‫ای‬ ‫داده‬ ‫منابع‬ ‫از‬ ‫ساختار‬ ‫بی‬ ‫های‬ ‫داده‬ ‫با‬ ‫توان‬ ‫می‬ ‫را‬. myDF = spark.read.format(...)
  73. 73. ‫پردازشی‬ ‫موتور‬Apache Spark ‫ها‬ ‫داده‬ ‫نشست‬ ‫و‬ ‫بارگیری‬ ‫پردازشی‬ ‫موتور‬Apache Spark‫پشتی‬ ‫ساخت‬ ‫درون‬ ‫صورت‬ ‫به‬ ‫ای‬ ‫داده‬ ‫منابع‬ ‫از‬ ‫مختلفی‬ ‫انواع‬ ‫از‬‫بانی‬ ‫کند‬ ‫می‬.‫عبارتنداز‬ ‫منابع‬ ‫این‬: Apache Hive:‫برروی‬ ‫را‬ ‫خود‬ ‫های‬ ‫داده‬ ‫که‬ ‫است‬ ‫ای‬ ‫داده‬ ‫انباره‬ ‫یک‬HDFS‫ای‬ ‫رابطه‬ ‫قالب‬ ‫با‬ ‫کند‬ ‫می‬ ‫ذخیره‬. Parquet:‫ب‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫توان‬ ‫می‬ ‫که‬ ‫باشد‬ ‫می‬ ‫گرا‬ ‫ستون‬ ‫داده‬ ‫سازی‬ ‫ذخیره‬ ‫قالب‬ ‫یک‬‫سرعت‬ ‫ا‬ ‫کرد‬ ‫پیدا‬ ‫دسترسی‬ ‫ها‬ ‫داده‬ ‫به‬ ‫باالتری‬ ‫بسیار‬.
  74. 74. ‫در‬ ‫مثال‬ ‫یک‬ ‫اجرای‬Spark SQL
  75. 75. ‫هفتم‬ ‫فصل‬:‫پردازشی‬ ‫موتور‬ ‫ادامه‬Apache Spark
  76. 76. ‫پردازشی‬ ‫موتور‬Apache Spark ‫کتابخانه‬ ‫با‬ ‫آشنایی‬Streaming ‫کتابخانه‬ ‫از‬Streaming‫ج‬ ‫و‬ ‫بالدرنگ‬ ‫پردازش‬ ‫به‬ ‫نیاز‬ ‫که‬ ‫هایی‬ ‫برنامه‬ ‫نوشتن‬ ‫برای‬ ‫توان‬ ‫می‬‫ریانی‬ ‫کرد‬ ‫استفاده‬ ‫دارند‬.‫بالفاص‬ ،‫رسیدن‬ ‫زمان‬ ‫در‬ ‫توان‬ ‫می‬ ‫را‬ ‫ها‬ ‫داده‬ ،‫کتابخانه‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬‫پردازش‬ ‫له‬ ‫کرد‬.
  77. 77. ‫پردازشی‬ ‫موتور‬Apache Spark ‫معماری‬Streaming ‫نام‬ ‫به‬ ‫انتزاعی‬ ‫کالس‬ ‫یک‬ ‫دارای‬ ‫کتابخانه‬ ‫این‬DStream‫یا‬Discretized Stream‫باشد‬ ‫می‬ ‫از‬ ‫ای‬ ‫دنباله‬ ‫که‬RDD‫یابد‬ ‫می‬ ‫انتقال‬ ‫زمان‬ ‫در‬ ‫که‬ ‫است‬ ‫هایی‬.DStream‫منابع‬ ‫توسط‬ ‫تواند‬ ‫می‬ ‫مانند‬ ‫گردد‬ ‫تولید‬ ‫مختلفی‬ ‫ای‬ ‫داده‬Flume،Kafka‫یا‬ ‫و‬HDFS.
  78. 78. ‫پردازشی‬ ‫موتور‬Apache Spark ‫شده‬ ‫بندی‬ ‫زمان‬ ‫عملیات‬ Dstream‫کرد‬ ‫فراخوانی‬ ‫مختلفی‬ ‫زمانی‬ ‫فواصل‬ ‫در‬ ‫توان‬ ‫می‬ ‫را‬ ‫ها‬.‫مثال‬ ‫طور‬ ‫به‬: ssc = StreamingContext(sc,1)
  79. 79. ‫در‬ ‫مثال‬ ‫یک‬ ‫اجرای‬Spark Streaming

×