پردازش و تحلیل دادههای بزرگ
مدرس: | گواهی: رسمی دوزبانه |
ترم: | پیشنیاز: برنامهسازی برای تحلیل داده |
زمان ارائه: | محل برگزاری: کلاس مجازی |
هدف کلی
هدف این درس، آشنا کردن دانشجویان با مفاهیم و مسائل مطرح در زیرساختهای مرتبط با ذخیرهسازی و مدیریت دادههای بزرگ است. تمامی مفاهیم مطرح در این درس به صورت ملموس و عملی تدریس میشود و از دانشجویان خواسته میشود که زیرساختهای تدریسشده را راهاندازی کرده و با آنها به صورت عملی کار کنند. به منظور همگرایی بهتر سعی شده است از هر مفهوم زیرساختی، یک فناوری عملی از آن نیز انتخاب شود و در حین آموزش مفاهیم تدریس گردد. به منظور راحتی بیشتر و همچنین یکپارچگی آسانتر، همه فناوریهای از پشته Apache و Hadoop انتخاب شدهاند.
سرفصلها
- مروری عملی بر سیستم عامل
- مروری بر پایگاههای داده به صورت عملی
- ماشینهای مجازی و فناوری کانتینر
- مفاهیم مرتبط با سیستم عامل در تحلیل دادههای حجیم
- مفاهیم مقدماتی
- معماری Hadoop
- فایل سیستم توزیعشده و HDFS
- محاسبه توزیعشده و MapReduce
- ارسال کار نگاشت کاهش به Yarn
- جریانهای کاری در Hadoop
- Hadoop Streaming
- مثالهایی از برنامهنویسی MapReduce با پایتون
- MapReduce پیشرفته
- محاسبات داخل حافظهای و Spark
- مفاهیم Spark
- استفاده از PySpark
- پیادهسازی یک برنامه Spark
- انبارهای داده و کاوش آنها
- انبار داده و شمای دادهها
- کوئری روی دادههای ساختاریافته با Hive
- پایگاههای داده ستون-محور و تحلیل بلادرنگ داده با HBase
- یکپارچگی داده
- واردسازی دادههای رابطهای با استفاده Sqoop
- واردسازی جریانهای داده با استفاده از Flume
- تحلیل داده با APIهای لایه بالاتر
- آشنایی با فناوری Pig
- آشنایی با APIهای لایه بالاتر Spark مانند Spark SQL و DataFrame
- مقدمهای بر یادگیری ماشین توزیع شده با Spark
ارزیابی
- آزمون: آزمونهای میاننیمسال و پایاننیمسال (۵۰ درصد نمره)
- تمرین و پروژه : سه تمرین تئوری و یک پروژه عملی که در طول نیمسال تحویل داده میشوند (۵۰ درصد نمره).
منابع
- Bengfort, Benjamin, and Jenny Kim. Data analytics with Hadoop: an introduction for data scientists. O'Reilly, 2016.