پردازش و تحلیل داده‌های بزرگ

Big Data Processing and Analysis

شماره درس: ۵۰۲۰ تعداد واحد: ۳
نوع درس: نظری پیش‌نیاز: برنامه‌سازی برای تحلیل داده

اهداف درس

هدف این درس، آشنا کردن دانشجویان با مفاهیم و مسائل مطرح در زیرساخت‌های مرتبط با ذخیره‌سازی و مدیریت داده‌های بزرگ است. تمامی مفاهیم مطرح در این درس به صورت ملموس و عملی تدریس می‌شود و از دانشجویان خواسته می‌شود که زیرساخت‌های تدریس‌شده را راه‌اندازی کرده و با‌ آن‌ها به صورت عملی کار کنند. به منظور همگرایی بهتر سعی شده است از هر مفهوم زیرساختی، یک فناوری عملی از آن نیز انتخاب شود و در حین آموزش مفاهیم تدریس گردد. به منظور راحتی بیشتر و همچنین یکپارچگی آسان‌تر، همه فناوری‌های از پشته Apache‌ و Hadoop‌ انتخاب شده‌اند.

ریز مواد

  1. مروری عملی بر سیستم‌ عامل
  2. مروری بر پایگاه‌های داده به صورت عملی
  3. ماشین‌های مجازی و فناوری کانتینر
  4. مفاهیم مرتبط با سیستم عامل در تحلیل داده‌های حجیم
    • مفاهیم مقدماتی
    • معماری Hadoop
    • فایل سیستم توزیع‌شده و HDFS
    • محاسبه توزیع‌شده و MapReduce
    • ارسال کار نگاشت کاهش به Yarn
  5. جریان‌های کاری در Hadoop
    • Hadoop Streaming
    • مثال‌هایی از برنامه‌نویسی MapReduce‌ با پایتون
    • MapReduce پیشرفته
  6. محاسبات داخل حافظه‌ای و Spark
    • مفاهیم Spark
    • استفاده از PySpark
    • پیاده‌سازی یک برنامه Spark
  7. انبار‌های داده و کاوش آن‌ها
    • انبار داده و شمای داده‌ها
    • کوئری روی داده‌های ساختاریافته با Hive
    • پایگاه‌های داده ستون-محور و تحلیل بلادرنگ داده با HBase
  8. یکپارچگی داده
    • واردسازی داد‌ه‌های رابطه‌ای با استفاده Sqoop
    • وارد‌سازی جریان‌های داده با استفاده از Flume
  9. تحلیل داده با APIهای لایه‌ بالاتر
    • آشنایی با فناوری Pig
    • آشنایی با API‌های لایه بالاتر Spark‌ مانند Spark SQL و DataFrame
  10. مقدمه‌ای بر یادگیری ماشین توزیع شده با Spark

ارزیابی

  • آزمون: آزمون‌های میان‌نیم‌سال و پایان‌نیم‌سال (۵۰ درصد نمره)
  • تمرین ‌و پروژه : سه تمرین تئوری و یک پروژه عملی که در طول نیم‌سال تحویل داده می‌شوند (۵۰ درصد نمره).

مراجع

  1. Bengfort, Benjamin, and Jenny Kim. Data analytics with Hadoop: an introduction for data scientists. O'Reilly, 2016.