۴.۶ بررسی هادوپ Coudera در نسخه Cloudera Live

دوره آموزش هادوپ سید محمدامین ساجدی

در این ویدئو به توضیح اجمالی درباره کار با نسخه لایو کلودرا می پردازیم. این ویدئو قسمتی از ویدئوهای دوره اموزشی Hadoop Fundamentals از لیندا هست که توسط خودم ترجمه و دوبله شده.

 

همونطور که توی ویدئو های قبلی گفتم، اکثر نسخه های تولید کننده توزیع های تجاری هادوپ به شما امکان راه اندازی سریع سیستم و شروع به پرس و جو زدن میده. این بهترین راه برای شروع کار و درگیر شدن با اونه. خب اینجا می خوام باهم یه نگاهی به سیستم cloudera بندازیم. اگر اسکرول کنم و بیام پایین 0:19

میبینید که نوشته Not ready for a full trial? یعنی اینکه هنوز اماده نیستید که با اون کار کنید؟ و یه لینک Demo براتون گذاشته که از اون استفاده کنید. تنها کاری که باید بکنید کیک کردن روی Try the Demo و پر کردن یه فرم از اطلاعات کسب و کارتون هست و بعد هم به شما محیطی داخل مرورگر می ده که به شما اجازه کار با کلاستر هادوپ به همراه همه این کتابخونه هایی که اینجا نوشته رو میده.0:41

این کار می تونه به شما اشنایی لازم برای شروع کار رو بده. حالا می خوام باهم بریم و به وب سایت نسخه دمو Hue نگاهی بندازیم. Hue یک جزء از توزیع Cloudera هست که وقتی اون رو خریداری می کنید برای کار با هادوپ در اختیار شما قرار داده می شه. این نسخه که الان باهم داریم بهش نگاه می کنیم نسخه رایگانه اون هست واگر بخواین از اون در کارتون استفاده کنید حتما باید توزیع cloudera رو خریداری کرده باشید. این همون کاریه که توی ویدئو های قبلی گفتم بهتون که باید قبل از انتخاب یک توزیع مناسب برای کار خودتون باید ابتدا اون رو بررسی کنید تا ببینید برای اهداف شما سازگار هست یا نه. این نسخه دمو همین امکان بررسی رو به شما میده. 1:14

توی این دوره بخاطر اهداف اموزشی از پرس و جوهای نسبتا ساده تری استفاده می کنیم. چیزی که به شما می فهمونه پیچیدگی محیط کاری هادوپ هست. می بینید که اگه روی Query Editors کلیک کنم، 5 تا ادیتور برای نوشتن پرس و جو داره. 1:41

و این ها همگی اجازه کار با داده های توی کلاستر هادوپ رو به شما می دن. بزارین بهتون یکی یکی توضیح بدم که چی هستن و چکار می کنن. Job Designer به شما اجازه می ده تا با MapReduce کار کنید. گفتم که توی این دوره تا حدودی با MapReduce هم کار می کنیم ولی با وجود این توزیع ها دیگه عملا نیازی به ارتباط مستقیم با MapReduce نیست ولی در برخی موارد مجبوریم وارد کدهای MapReduce بشیم.2:11

اما زبان های با سطح انتزاع بالاتری هم وجود داره. مثل Pig, Impala, Hive یا هم Database Query. کاری که Cloudera کرده اینه که نمونه هایی کاربردی دراختیار شما قرار داده. پس این ها ادیتورهایی بودن که می تونید از اوون ها برای پرس و جو زدن استفاده کنید. این کدهایی که این پایین هست هم نمونه هایی هستن که ایکون کنار هرکدومشون نشون دهنده ادیتوری هست که استفاده کردن.2:26

توی قسمت بعدی گزینه Data Browsers رو مشاهده می کنید. اگر یادتون باشه توی یکی از ویدئو ها درباره لایه انتزاع Hbase و جدول های Metastore صحیت کردم. 2:38

این قسمت به شما اجازه مشاهده فایل های خودتون در قالب HBase رو می ده و می فهمید که چطور این سیستم فایل اقدام به ذخیره سازی کرده. علاوه بر اینها این مرورگر به شما اجازه تبادل داده های خودتن بصورت گرافیکی از طریق Sqoop رو می ده و همچنین اجازه تخصیص منابع با Zookeeper رو هم می ده. 2:54

حالا می خوام یه پرس و جوی واقعی بهتون نشون بدم. قبلا درباره MapReduce صحبت کردیم ولی می خوام یه چیز جالب بهتون نشون بدم. می خوام یه پرس و جو در زمینه افزایش حقوق بهتون نشون بدم. 3:05

با دیدن فرمت این پرس و جو شاید یکم سورپرایز شده باشید. اگر تجربه کار با پایگاه های رابطه ای داشته باشید، می بینید که خیلی شبیه به SQL هست که در پایگاه های رابطه ای استفاده می کنیم. اما ما داریم با هادوپ کار می کنیم. خب این یعنی چی؟3:21

این یک نمونه از پرس و جوی Hive یا همون HQL هست. از HQL توی هادوپ خیلی استفاده می کنیم. توی این دوره درباره Hive صحبت می کنیم. نکته جالب اینه که این یه انتزاع در بالای MapReduce هست. اگر Execute رو بزنم یسری اتفاقات جالب میفته . اولین مورد اینه که نتیجه ناگهانی به ما نمیده. و این بخاطر اینه که با زدن Execute یک کار بصورت دسته ای روی همه سرورهای موجود یا گره های موجود در کلاستر ارسال میشه و باید منتظر پاسخ هرکدوم بمونیم. و این یکم زمان می بره.3:56

این موضوع رو باید هنگام کار با هادوپ مدنظر داشته باشید. هرچند که پرس و جو شبیه SQL هست امانباید انتظار رفتار شبیه اون رو هم داشته باشید. خب جالا می خوام روی Execute بزنم. این پایین می بینید که خروجی طولانی به ما داده. 4:14

که همش درباره jobs ها و تقسیم بندی های انجام شده صحبت می کنه. درواقع کاری که داره می کنه اینه که داری مجموعه ای از کارهای Map و کارهای Reduce رو پشت سرهم انجام میده. و الان می بینید که نتایج اماده شده. 4:29

منم بار اولی که با این موضوع روبرو شدم برام خیلی جالب بود. پرس و جو شبیه SQL هست ولی اتفاقای خیلی متفاوتی پشت صحنه رخ میده. می تونیم روی دکمه Explain بزنیم تا توضیحاتی درباره اتفاقات رخ داده بهمون بده اما اونقدری که فکرشو بکنید بهمون اطلاعات نمیده. دلیل اینکه باید درباره MapRedce بدونیم هم همینه، چون توی این توضیحات از اصطلاحات و عملیات های اون صحبت می کنه. مثلا اینجا تعداد سطر ها رو نوشته5:01

همچنین سایز mapper ها و reducer ها رو هم نوشته. می بینید که واقعا متفاوته نسبت به پایگاه داده های رابطه ای. برای اینکه بفهمیم این پرس و جو روی چی کار می کرد می بینید که از sample7 و sample8 استفاده کرده. این فایل ها رو سمت چپ داریم. اگر روی جدول sample7 کلیک کنم، 5:17

می بینید که یه جدول سادست با چندتا ستون. اینجا هم sample8 رو می بینید. اونم یسری جدول داره فقط. این کد که نوشته شده داره یه join رو روی این دوتا جدول انجام میده. 5:28

عملیات join در MapReduce خیلی متفاوت تر از join در پایگاه های رابطه ای انجام میشه. ادیتورهای دیگه ای که می تونید از اون ها استفاده کنید رو اینجا می بینید. Pig, Impala و MapReduce. 5:42

بزارین یه پرس و جوی Pig رو هم باهم بررسی کنیم. می بینید که کاملا متفاوته. زبان Pig در یاهو بعنوان یک لایه انتزاعی تر از MapReduce توسعه داده شد. و این یعنی اینکه مدیران هادوپ می تونن عملیات های اصلی Extract, Transform, Load رو خیلی راحت تر انجام بدن. 6:05

در سمت راست لیستی از توابع مختلف رو می بینید. نگاهی به توابع رشته ای میندازیم. می بینید که لیست اون ها باز شد. برای اجرای این اسکریپت هم فقط کافیه روی Run بزنید تا اجرا اغاز بشه. 6:20

حالا می خوام یه مثال باهم داشته باشیم. به اینجا می رم. و اینجا. حالا می تونید واقعا پیچیدگی دنیای هادوپ رو مشاهده کنید. الان توی ادیتور workflow هستیم.6:33

اینجا شبیه محیط informatica هست که توی اون درباره جریان داده ها بحث میشه. می بینید که اینجا یه کار pig داریم که داخل این جریان داده ای قرار داره. 6:49

این بالا هم استارت و در پایین هم end رو داریم. بالای همه این ها هم مجموعه متفاوتی از کتابخونه ها در اختیار ماست که می تونیم از اونها کنار هم استفاده کنیم. 6:55

همچنین می تونیم این عملیات رو schedule کنیم و طی بازه های زمانی موردنظر اجرا کنیم. خب داریم کم کم وارد محیط می شیم. باز هم می گم که اینجا بهترین جا برای شروع کار با هادوپ و اشنا شدن با کتابخونه های اون هست. و به شما امکان اشنا شدن با ابزارها و قابلیت های موجود رو میده. اکثر برندهای موجود این قابلیت استفاده در مرورگر رو به شما ارائه میدن.


دیگر سرفصل های دوره آموزشی هادوپ

1 مقدمه
2 چرا از پایگاه داده های رابطه ای دور شویم؟
3 هادوپ چیست؟
4 درک اجزای اساسی هادوپ
5 راه اندازی محیط توسعه هادوپ
6 درک MapReduce
7 پیکربندی MapReduce
8 درک MapReduce 2.0 YARN
9 درک Hive
10 درک Pig
11 شناخت روند کار و متصل کننده ها
12 دیگر کتابخانه های هادوپ
13 شناخت Spark
14 بصری سازی خروجی هادوپ به همراه ابزارها
15 نتیجه گیری