Hive ٹیوٹوریل - Hive فن تعمیر اور ناسا کیس اسٹڈی



یہ Hive سبق بلاگ آپ کو Hive آرکیٹیکچر اور Hive ڈیٹا ماڈل کے بارے میں گہرائی سے آگاہ کرتا ہے۔ اس میں اپاچی ہیو سے متعلق ناسا کیس اسٹڈی کی بھی وضاحت کی گئی ہے۔

اپاچی Hive سبق: تعارف

بگ ڈیٹا تجزیات کے لئے Hive سختی سے صنعت میں استعمال شدہ ٹول ہے اور اپنا آغاز کرنے کا ایک عمدہ ٹول ہے کے ساتھ اس Hive سبق بلاگ میں ، ہم گہرائی میں اپاچی Hive کے بارے میں تبادلہ خیال کریں گے۔ اپاچی Hive اس ڈیٹا میں گودام کا ایک ٹول ہے ، جو بگ ڈیٹا سے استفسار کرنے اور تجزیہ کرنے کیلئے زبان جیسے ایس کیو ایل فراہم کرتا ہے۔ Hive کی ترقی کے پیچھے محرک SQL ڈویلپرز اور تجزیہ کار کے لئے رگڑ کم سیکھنے کا راستہ ہے۔ Hive نہ صرف پروگرامنگ والے بیک گراونڈ سے تعلق رکھنے والے لوگوں کے لئے نجات دہندہ ہے ، بلکہ اس سے پروگرامرز کے کام کو بھی کم کیا جاتا ہے جو میپریڈوس پروگرام لکھنے میں طویل وقت صرف کرتے ہیں۔ اس اپاچی Hive سبق بلاگ میں ، کے بارے میں بات کریں گے:





اپاچی Hive سبق: Hive کیا ہے؟

اپاچی Hive ایک ڈیٹا گودام سسٹم ہے جو ہڈوپ کے سب سے اوپر پر بنایا گیا ہے اور اسے ڈھانچے اور نیم ساختہ اعداد و شمار کے تجزیہ کے لئے استعمال کیا جاتا ہے۔Hive نے ہڈوپ میپ ریڈو کی پیچیدگی کو ختم کردیا۔ بنیادی طور پر ، یہ اعداد و شمار پر ڈھانچے کو پروجیکٹ کرنے اور HQL (Hive Query Language) میں لکھے گئے سوالات انجام دینے کے لئے ایک طریقہ کار مہیا کرتا ہے جو ایس کیو ایل کے بیانات کی طرح ہے۔ اندرونی طور پر ، یہ سوالات یا HQL نقاب میں تبدیل ہوجاتے ہیں جس سے Hive مرتب کنندہ کے ذریعہ ملازمتوں کو کم کیا جاتا ہے۔ لہذا ، ہڈوپ کا استعمال کرتے ہوئے اپنے ڈیٹا پر کارروائی کرنے کیلئے پیچیدہ میپریڈوس پروگراموں کو لکھنے کے بارے میں آپ کو پریشان ہونے کی ضرورت نہیں ہے۔ اس کا مقصد ان صارفین کی طرف ہے جو ایس کیو ایل کے ساتھ راضی ہیں۔ اپاچی Hive ڈیٹا ڈیفینیشن لینگوئج (DDL) ، ڈیٹا ہیرا پھیری زبان (DML) اور صارف کی وضاحت شدہ افعال (UDF) کی حمایت کرتا ہے۔

ابتدائیوں کے لئے Hive ٹیوٹوریل | گہرائی میں چھتے کو سمجھنا | ایڈوریکا



ایس کیو ایل + ہڈوپ میپریڈوسیس = HiveQL

اپاچی Hive سبق: چھتے کی کہانی - فیس بک سے اپاچی تک

فیس بک استعمال کیس - Hive سبق - Edurekaانجیر : Hive سبق - فیس بک استعمال کیس

فیس بک پر چیلینجز: ڈیٹا کی تیز رفتار نمو

2008 سے پہلے ، فیس بک میں تمام ڈیٹا پروسیسنگ انفراسٹرکچر تجارتی آر ڈی بی ایم ایس پر مبنی ڈیٹا گودام کے آس پاس بنایا گیا تھا۔ یہ انفراسٹرکچر اس وقت فیس بک کی ضروریات کو پورا کرنے کے قابل تھے۔ لیکن ، جیسے ہی ڈیٹا بہت تیزی سے بڑھنے لگا ، اس بڑے ڈیٹاسیٹ کو سنبھالنے اور اس پر کارروائی کرنا ایک بہت بڑا چیلنج بن گیا۔ فیس بک کے ایک مضمون کے مطابق ، 2007 میں قائم ہونے والے 15 ٹی بی کے اعداد و شمار سے لے کر 2009 میں 2 پی بی کے 2 ڈیٹا تک کا ڈیٹا اسکیل کیا گیا تھا۔ اس کے علاوہ ، بہت ساری فیس بک پروڈکٹس میں آڈیرین بصیرت ، فیس بک لیکسیکن ، فیس بک اشتہارات وغیرہ جیسے اعداد و شمار کا تجزیہ ہوتا ہے۔ اس مسئلے سے نمٹنے کے لئے ایک توسیع پزیر اور معاشی حل کی ضرورت تھی اور اس لئے ہڈوپ فریم ورک کا استعمال شروع کردیا۔



جمہوری بنانا ہڈوپ - میپریڈوش

لیکن ، جیسے جیسے اعداد و شمار میں اضافہ ہوا ، نقشہ کو کم کرنے والے کوڈوں کی پیچیدگی متناسب طور پر بڑھ گئی۔ لہذا ، بغیر پروگرامنگ کے پس منظر والے لوگوں کو میپریڈوس پروگرام لکھنے کی تربیت کرنا مشکل ہوگیا۔ نیز ، سادہ تجزیہ کرنے کے ل one ، کسی کو MapReduce کوڈ کی سو لائنیں لکھنی پڑتی ہیں۔ چونکہ ، ایس کیو ایل کو فیس بک سمیت انجینئرز اور تجزیہ کاروں نے وسیع پیمانے پر استعمال کیا تھا ، لہذا ، ایس کیو ایل کو ہڈوپ کی چوٹی پر رکھنا ، ہڈوپ کو ایس کیو ایل کے پس منظر والے صارفین تک قابل رسائی بنانے کا ایک منطقی طریقہ معلوم ہوتا تھا۔

لہذا ، زیادہ تر تجزیاتی تقاضوں اور ہڈوپ کی قابلیت کو پورا کرنے کے لئے ایس کیو ایل کی قابلیت کو جنم ملا اپاچی چھتے جو ایچ ڈی ایف ایس میں موجود ڈیٹا پر سوالات کی طرح ایس کیو ایل انجام دینے کی اجازت دیتا ہے۔ بعدازاں ، ہائیو پروجیکٹ کو فیس بک کے ذریعہ اگست २०० 2008 میں کھولا گیا تھا اور آج وہ اپاچی ہائیو کے طور پر آزادانہ طور پر دستیاب ہے۔

اب ، آئیے ہم Hive کی خصوصیات یا فوائد کو دیکھتے ہیں جو اسے اتنا مقبول بنا دیتا ہے۔

اپاچی Hive سبق: چھتے کے فوائد

  • ایسے لوگوں کے لئے کارآمد جو پروگرامنگ کے پس منظر سے نہیں ہیں کیونکہ اس سے پیچیدہ میپریڈس پروگرام لکھنے کی ضرورت ختم ہوجاتی ہے۔
  • قابل توسیع اور توسیع پزیر نظام کی کارکردگی کو متاثر کیے بغیر ، بڑھتی ہوئی حجم اور مختلف قسم کے اعداد و شمار سے نمٹنے کے لئے۔
  • یہ ایک موثر ای ٹی ایل (ایکسٹریکٹ ، ٹرانسفارم ، لوڈ) ٹول کی حیثیت سے ہے۔
  • Hive جاوا ، پی ایچ پی ، ازگر ، C ++ یا روبی میں لکھی گئی کسی بھی کلائنٹ کی درخواست کو سامنے لا کر اس کی حمایت کرتا ہے کفایت سرور . (آپ DB2 جیسے ڈیٹا بیس تک رسائی کے ل S SQL کے ساتھ سرایت شدہ یہ زبانیں استعمال کرسکتے ہیں)۔
  • چونکہ Hive کی میٹا ڈیٹا کی معلومات RDBMS میں محفوظ ہے ، اس سے استفسار پر عمل درآمد کے دوران سیمنٹ چیک کرنے کے وقت میں نمایاں کمی واقع ہوتی ہے۔

اپاچی Hive ٹیوٹوریل: اپاچی Hive استعمال کرنے کے لئے کہاں؟

اپاچی Hive دونوں جہانوں یعنی SQL ڈیٹا بیس سسٹم اور سے فائدہ اٹھاتا ہے فریم ورک۔ لہذا ، یہ کمپنیوں کی ایک وسیع تعداد میں استعمال ہوتا ہے۔ یہ زیادہ تر ڈیٹا گودام کے لئے استعمال ہوتا ہے جہاں آپ تجزیات اور ڈیٹا مائننگ انجام دے سکتے ہیں جس میں حقیقی وقت پر کارروائی کی ضرورت نہیں ہوتی ہے۔ کچھ فیلڈز جہاں آپ اپاچی چھتے کا استعمال کرسکتے ہیں وہ درج ذیل ہیں:

  • ڈیٹا سٹوریج
  • ایڈہاک تجزیہ

جیسا کہ کہا جاتا ہے ، آپ صرف ایک ہاتھ سے تالیاں نہیں بجھا سکتے یعنی آپ ہر مسئلے کو کسی ایک آلے سے حل نہیں کرسکتے ہیں۔ لہذا ، آپ دوسرے بہت سے ڈومینز میں استعمال کرنے کے لئے دوسرے ٹولز کے ساتھ Hive کو جوڑا بنا سکتے ہیں۔ مثال کے طور پر ، اپاچی Hive کے ساتھ جھانکنے والی معلومات کو ڈیٹا ویزوئلائزیشن کے لئے استعمال کیا جاسکتا ہے ، Hive کے ساتھ اپاچی Tez انضمام آپ کو ریئل ٹائم پراسیسنگ کی صلاحیتوں وغیرہ فراہم کرے گا۔
اس اپاچی ہیو ٹیوٹوریل بلاگ میں آگے بڑھتے ہوئے ، آئیے ہمیں نسا کے کیس اسٹڈی پر ایک نظر ڈالیں جہاں آپ کو معلوم ہوجائے گا کہ آب و ہوا کے ماڈلز کی جانچ پڑتال کے دوران ہیوی نے اس مسئلے کو کس طرح حل کیا جس کا سامنا ناسا کے سائنس دانوں نے کیا۔

Hive سبق: ناسا کیس اسٹڈی

آب و ہوا کا نمونہ مختلف عوامل پر مبنی آب و ہوا کے نظام کی ریاضی کی نمائندگی ہے جو زمین کی آب و ہوا کو متاثر کرتی ہے۔ بنیادی طور پر ، یہ آب و ہوا کے مختلف ڈرائیوروں کی تعامل کو بیان کرتا ہے جیسے سمندر ، سورج ، ماحول ، وغیرہ سےآب و ہوا کے نظام کی حرکیات پر بصیرت فراہم کرتے ہیں۔ اس کا استعمال آب و ہوا کی صورتحال کو پیش کرنے کے لئے آب و ہوا کو متاثر کرنے والے عوامل کی بنیاد پر آب و ہوا میں ہونے والی تبدیلیوں کی تقلید کرتے ہوئے کیا جاتا ہے۔ ناسا کی جیٹ پروپلشن لیبارٹری نے مختلف بیرونی ذخیروں میں موجود ریموٹ سینسنگ ڈیٹا کے خلاف آب و ہوا کے آؤٹ پٹ ماڈل کا تجزیہ اور جائزہ لینے کے لئے علاقائی آب و ہوا کے ماڈل کی تشخیصی نظام (آر سی ایم ای ایس) تیار کیا ہے۔

RCMES (علاقائی آب و ہوا کے ماڈل کی تشخیصی نظام) کے دو اجزاء ہیں:

  • آر سی ایم ای ڈی (علاقائی آب و ہوا ماڈل تشخیص کا ڈیٹا بیس):

یہ ایک اسکیل ایبل کلاؤڈ ڈیٹا بیس ہے جو دور دراز سینسنگ ڈیٹا اور ری اینالیسیس ڈیٹا کو لوڈ کرتا ہے جو اپاچی او او ڈی ٹی ایکسٹریکٹرز ، اپاچی ٹکا وغیرہ جیسے ایکسٹریکٹرز کا استعمال کرتے ہوئے آب و ہوا سے متعلق ہوتا ہے۔ آخر میں ، اس ڈیٹا پوائنٹ ماڈل کے طور پر ڈیٹا کو تبدیل کرتا ہے جو شکل کا ہے (عرض بلد) ، طول بلد ، وقت ، قدر ، اونچائی) اور اسے میرے ایس کیو ایل ڈیٹا بیس میں اسٹور کرتا ہے۔ کلائنٹ RCMED میں موجود ڈیٹا کو اسپیس / ٹائم سوالات انجام دے کر بازیافت کرسکتا ہے۔ اس طرح کے سوالات کی تفصیل ہمارے لئے ابھی مناسب نہیں ہے۔

  • آر سی ایم ای ٹی (علاقائی آب و ہوا کے ماڈل کی تشخیص ٹول کٹ):

یہ صارف کو RCMED میں موجود حوالہ کے اعداد و شمار کا موازنہ کرنے کی صلاحیت فراہم کرتا ہے جس میں مختلف اقسام کے تجزیے اور جائزہ کو انجام دینے کے ل sources کچھ دوسرے ذرائع سے حاصل کردہ آب و ہوا ماڈل آؤٹ پٹ کے اعداد و شمار سے موازنہ کیا جاسکتا ہے۔ آر سی ایم ای ایس کے فن تعمیر کو سمجھنے کے لئے آپ ذیل میں دی گئی تصویر کا حوالہ دے سکتے ہیں۔

آب و ہوا ماڈل کی تشخیص کے لئے درکار مختلف پیرامیٹرز کے مطابق ، آر سی ایم ای ڈی میں حوالہ کا ڈیٹا سیٹلائٹ پر مبنی ریموٹ سینسنگ سے حاصل ہوتا ہے۔ مثال کے طور پر - ایرس (وایمنڈلیی اورکت صوraڈر) سطحی ہوا کا درجہ حرارت ، درجہ حرارت اور جیوپوتینشل جیسے پیرامیٹرز مہیا کرتے ہیں ، ٹی آر ایم ایم (اشنکٹبندیی بارش کی پیمائش مشن) ماہانہ بارش وغیرہ مہیا کرتا ہے۔

ایس کیو ایل ڈیٹا بیس سسٹم کے استعمال سے ناسا کو درپیش مشکلات:

  • ایس کیو ایل ڈیٹا بیس کو فارم کے 6 بلین ٹیوپلس (عرض البلد ، طول البلد ، وقت ، ڈیٹا پوائنٹ ویلیو ، اونچائی) کے ساتھ لوڈ کرنے کے بعد ، سسٹم کریش ہو گیا جیسا کہ اوپر کی تصویر میں دکھایا گیا ہے۔
  • یہاں تک کہ پوری جدول کو چھوٹے چھوٹے ذیلی حصوں میں تقسیم کرنے کے بعد بھی ، اعداد و شمار پر کارروائی کرتے ہوئے نظام نے بڑے پیمانے پر اوور ہیڈ تیار کیا۔

لہذا ، انھیں ایک توسیع پذیر حل کی ضرورت ہے جو ایس کیو ایل کے ذریعہ اس بڑی مقدار میں ڈیٹا کو اسٹوریج اور اس پر کارروائی کرسکتی ہے جیسے سوال کی صلاحیت کی۔ آخر میں ، انہوں نے مذکورہ دشواریوں پر قابو پانے کے لئے اپاچی ہائیو کا استعمال کرنے کا فیصلہ کیا۔

اپاچی Hive مسئلہ کو کیسے حل کرسکتا ہے؟

اب ہم دیکھتے ہیں کہ وہ کون سی خصوصیات ہیں جس نے ناسا کی جے پی ایل ٹیم کو اپاچی ہیو کو اپنی حل حکمت عملی میں لازمی حصہ کے طور پر شامل کرنے پر راضی کیا:

  • چونکہ ، اپاچی Hive ہاڈوپ کے سب سے اوپر چلتا ہے ، تو یہ قابل پیمائش ہے اور تقسیم اور متوازی انداز میں ڈیٹا پر کارروائی کرسکتا ہے۔
  • یہ Hive Query زبان فراہم کرتی ہے جو SQL سے ملتی جلتی ہے اور لہذا سیکھنے میں آسان ہے۔

چھتے کی تعیناتی:

مندرجہ ذیل تصویر میں اپاچی Hive کے انضمام کے ساتھ RCMES آرکیٹیکٹ کی وضاحت کی گئی ہے:

انجیر : Hive ٹیوٹوریل - اپاچی Hive کے ساتھ RCMES فن تعمیر

مذکورہ بالا شبیہہ RCMES میں اپاچی چھتے کی تعیناتی کو ظاہر کرتی ہے۔ اپاچی چھتے کی تعیناتی کے دوران ناسا کی ٹیم نے مندرجہ ذیل اقدامات اٹھائے تھے:

  • انہوں نے کلویڈرا اور اپاچی ہڈوپ کا استعمال کرکے Hive انسٹال کیا جیسا کہ مذکورہ تصویر میں دکھایا گیا ہے۔
  • انہوں نے MySQL ڈیٹا بیس سے Hive میں ڈیٹا ingest کرنے کے لئے Apache Sqoop کا استعمال کیا۔
  • اپاچی OODT ریپر کو Hive سے متعلق سوالات کرنے اور ڈیٹا کو RCMET میں واپس لینے کے ل to لاگو کیا گیا تھا۔

Hive کے ساتھ ابتدائی بینچ مارکنگ آبزرویشنز:

  • ابتدائی طور پر انہوں نے ایک میز پر ڈھائی ارب ڈیٹا پوائنٹس کو لوڈ کیا اور گنتی سے استفسار کیا۔ مثال کے طور پر، چھتے> ڈیٹاپوائنٹ سے گنتی (ڈیٹاپوائنٹ_ ID) منتخب کریں۔ اس میں تمام ریکارڈ گننے میں 5-6 منٹ لگے (مکمل 6.8 بلین ریکارڈوں کے ل– 15۔17 منٹ)
  • کم کرنے کا مرحلہ تیز تھا ، لیکن نقشہ سازی کے مرحلے میں پروسیسنگ کے کل وقت کا 95٪ حصہ لگا۔ وہ چھ استعمال کررہے تھے ( 4x کواڈ کور ) کے ساتھ نظام 24 جی بی ریم (لگ بھگ) ہر ایک سسٹم میں۔
  • مزید مشینیں شامل کرنے کے بعد بھی ، ایچ ڈی ایف ایس بلاک سائز (64 ایم بی ، 128 ایم بی ، 256 ایم بی) کو تبدیل کرنے اور ترتیب کے دوسرے متغیرات میں ردوبدل (io).ترتیب دیں.عنصر ، i.ترتیب دیں.ایم بی) ، گنتی مکمل کرنے کے لئے وقت کم کرنے میں انہیں زیادہ کامیابی نہیں ملی۔

Hive کمیونٹی کے ممبروں سے حاصل کردہ معلومات:

آخر کار ، Hive برادری کے افراد بچاؤ کے لئے پہنچے اور اپنی موجودہ Hive پر عمل درآمد سے مسائل کو حل کرنے کے لئے مختلف بصیرت فراہم کی۔

  • انہوں نے بتایا کہ ایچ ڈی ایف ایس پڑھنے کی رفتار تقریبا. ہے 60 ایم بی / سیکنڈ کے مقابلے میں 1GB / s لوکل ڈسک کی صورت میں ، نیومنوڈ پر نیٹ ورک کی گنجائش اور ورک بوجھ پر منحصر ہے۔
  • ممبروں نے اس کی تجویز پیش کی 16 نقشے ان کے موجودہ نظام میں مقامی غیر ہڈوپ کام کی I / O کارکردگی سے مطابقت پذیری ضروری ہوگی۔
  • انہوں نے یہ بھی کم کرنے کی تجویز دی تقسیم سائز ہر میپر کی تعداد بڑھانے کے لکےنقشہ ساز اور اس وجہ سے زیادہ ہم آہنگی مہیا کرتے ہیں۔
  • آخر کار ، برادری کے اراکین نے انہیں بتایا استعمال کی گنتی (1) اس کی بجائے حوالہ دینے کی شمار ( ڈیٹاپوائنٹ_ ایڈ) . اس کی وجہ یہ ہے کہ گنتی (1) کے معاملے میں ، کوئی حوالہ کالم موجود نہیں ہے اور اسی وجہ سے ، گنتی سرانجام دیتے وقت کوئی تزئین اور deserialization نہیں ہوتی ہے۔

آخر میں ، ناسا نے Hive برادری کے ممبروں کے ذریعہ دی گئی تمام تجاویز کو دھیان میں رکھتے ہوئے ان کی توقعات کے مطابق اپنے Hive کلسٹر کو مد نظر رکھنے کے قابل کیا۔ اور اسی وجہ سے ، وہ مذکورہ سسٹم کی تشکیلات کا استعمال کرتے ہوئے صرف 15 سیکنڈ میں اربوں قطاروں میں پوچھ گچھ کرسکتے ہیں۔

اپاچی Hive سبق: Hive فن تعمیر اور اس کے اجزاء

مندرجہ ذیل تصویر میں Hive فن تعمیر اور اس بہاؤ کی وضاحت کی گئی ہے جس میں سوال داخل کیا گیا ہےچھتےاور آخر میں میپریڈس فریم ورک کا استعمال کرتے ہوئے کارروائی کی گئی:

انجیر : Hive ٹیوٹوریل - Hive فن تعمیر

جیسا کہ مذکورہ تصویر میں دکھایا گیا ہے ، Hive فن تعمیر کو درج ذیل اجزاء میں درجہ بندی کیا جاسکتا ہے:

  • Hive مؤکل: Hive JDBC ، Thrift اور ODBC ڈرائیوروں کا استعمال کرتے ہوئے بہت سی زبانوں جیسے جاوا ، C ++ ، ازگر میں لکھی گئی درخواست کی حمایت کرتا ہے۔ لہذا کوئی بھی شخص اپنی پسند کی زبان میں لکھا ہوا ہائف کلائنٹ کی درخواست لکھ سکتا ہے۔
  • چھتے کی خدمات: اپاچی Hive مختلف خدمات جیسے سی ایل آئی ، ویب انٹرفیس وغیرہ سے استفسارات فراہم کرتا ہے۔ ہم جلد ہی اس Hive سبق بلاگ میں ان میں سے ہر ایک کو تلاش کریں گے۔
  • پروسیسنگ فریم ورک اور ریسورس مینجمنٹ: اندرونی طور پر ،Hive استفسارات پر عمل درآمد کے لئے ہڈوپ میپ ریڈوس فریم ورک کو ڈی فیکٹو انجن کے بطور استعمال کرتا ہے۔ اپنے آپ میں ایک الگ موضوع ہے اور اس لئے یہاں زیر بحث نہیں آتا ہے۔
  • تقسیم شدہ اسٹوریج: چونکہ ہیوڈوپ کے سب سے اوپر پر Hive نصب ہے ، لہذا یہ تقسیم شدہ اسٹوریج کے لئے بنیادی HDF استعمال کرتا ہے۔ آپ کا حوالہ دے سکتے ہیں ایچ ڈی ایف ایس بلاگ اس کے بارے میں مزید جاننے کے ل.

آئیے ، اب ہم Hive فن تعمیر میں پہلے دو بڑے اجزاء کی تلاش کریں:

1. چھتے کے کلائنٹ:

اپاچی Hive چھتے پر استفسارات انجام دینے کے لئے مختلف قسم کے مؤکل کی درخواستوں کی حمایت کرتا ہے۔ ان مؤکلوں کو تین اقسام میں درجہ بندی کیا جاسکتا ہے:

  • کفایت گاہک: چونکہ Hive سرور اپاچی Thrift پر مبنی ہے ، لہذا وہ ان تمام پروگرامنگ زبان سے درخواست کی خدمت کرسکتا ہے جو Thrift کی حمایت کرتے ہیں۔
  • جے ڈی بی سی کلائنٹ: Hive جاوا ایپلی کیشنز کو JDBC ڈرائیور کا استعمال کرتے ہوئے اس سے رابطہ قائم کرنے کی اجازت دیتا ہے جس کی وضاحت کلاس org میں کی گئی ہے.اپاچی.hadoop.hive.jdbc.HiveDriver.
  • ODBC مؤکل: Hive ODBC ڈرائیور ایپلی کیشنز کی اجازت دیتا ہے جو ODBC پروٹوکول کی حمایت کرتے ہیں Hive سے رابطہ قائم کریں۔ (جے ڈی بی سی ڈرائیور کی طرح ، او ڈی بی سی ڈرائیور ہائف سرور کے ساتھ بات چیت کرنے کے لئے تھرفٹ کا استعمال کرتا ہے۔)

2. چھتے کی خدمات:

مندرجہ بالا تصویر میں دکھایا گیا ہے کہ Hive بہت سی خدمات مہیا کرتا ہے۔ آئیے ہم ان میں سے ہر ایک پر ایک نظر ڈالیں:

  • Hive CLI (کمانڈ لائن انٹرفیس): یہ ہیف کا فراہم کردہ ڈیفالٹ شیل ہے جہاں آپ اپنے Hive سوالات اور احکامات کو براہ راست انجام دے سکتے ہیں۔
  • اپاچی Hive ویب انٹرفیس: کمانڈ لائن انٹرفیس کے علاوہ ، Hive Hive سوالات اور کمانڈز پر عمل درآمد کے لئے ویب پر مبنی GUI بھی فراہم کرتا ہے۔
  • Hive سرور: Hive سرور اپاچی Thrift پر بنایا گیا ہے اور اسی وجہ سے ، Thrift سرور کے طور پر بھی جانا جاتا ہے جو مختلف گاہکوں کو Hive کو درخواستیں پیش کرنے اور حتمی نتیجہ بازیافت کرنے کی اجازت دیتا ہے۔
  • اپاچی Hive ڈرائیور: یہ ایک مؤکل کے ذریعہ CLI ، ویب UI ، Thrift ، ODBC یا JDBC انٹرفیس کے ذریعے جمع کرائے گئے سوالات کو حاصل کرنے کے لئے ذمہ دار ہے۔ اس کے بعد ، ڈرائیور اس سوال کو مرتب کرنے میں منتقل کرتا ہے جہاں میٹاسٹور میں موجود اسکیما کی مدد سے پارس ، ٹائپ چیکنگ اور اصطلاحی تجزیہ ہوتا ہے۔. اگلے مرحلے میں ، نقشہ کم کرنے کے کاموں اور ایچ ڈی ایف ایس ٹاسک کے ایک ڈی اے جی (ڈائریکٹڈ اکی ایلک گراف) کی شکل میں ایک بہتر منطقی منصوبہ تیار کیا گیا ہے۔ آخر میں ، عمل درآمد انجن ان کاموں کو انحصار کی ترتیب میں ہڈوپ کا استعمال کرتے ہوئے انجام دیتا ہے۔
  • میٹا اسٹور: آپ میت اسٹور سوچ سکتے ہیںHive میٹا ڈیٹا کی تمام معلومات کو ذخیرہ کرنے کے لئے ایک مرکزی ذخیرہ کے طور پر۔ Hive میٹا ڈیٹا میں طرح طرح کی معلومات شامل ہیں جیسے ٹیبل کی ساخت اور پارٹیشنزکالم ، کالم کی قسم ، سیریلائزر اور ڈیسیریلائزر کے ساتھ جو ایچ ڈی ایف ایس میں موجود ڈیٹا پر پڑھنے / لکھنے کی کارروائی کے لئے ضروری ہے۔ میٹا اسٹوردو بنیادی اکائیوں پر مشتمل ہے:
    • ایک ایسی خدمت جو میٹاسٹور مہیا کرتی ہےoth تک رسائیrچھتے کی خدمات
    • میٹا ڈیٹا کے لئے ڈسک اسٹوریج جو ایچ ڈی ایف ایس اسٹوریج سے الگ ہے۔

آئیے ، اب ہم Hive metastore کو نافذ کرنے کے مختلف طریقوں کو سمجھتے ہیںاس Hive سبق کے اگلے حصے میں.

اپاچی ہیو ٹیوٹوریل: میٹاسٹور کنفیگریشن

میٹا اسٹور میٹا ڈیٹا کی معلومات کو RDBMS کا استعمال کرتے ہوئے اور ایک اوپن سورس ORM (آبجیکٹ ریلیشنل ماڈل) کو کہتے ہیں جس کو ڈیٹا نیوکلئس کہتے ہیں جو آبجیکٹ کی نمائندگی کو رشتہ دار اسکیما اور اس کے برعکس تبدیل کرتا ہے۔ ایچ ڈی ایف ایس کے بجائے آر ڈی بی ایم ایس کو منتخب کرنے کی وجہ کم تاخیر کا حصول ہے۔ ہم مندرجہ ذیل تین تشکیلوں میں میٹاسٹور کو لاگو کرسکتے ہیں۔

1. ایمبیڈڈ میٹاسٹور:

میٹاسٹور سروس اور ہائیو سروس دونوں ہی ایمبیڈڈ ڈربی ڈیٹا بیس مثال کے طور پر اسی JVM میں چلتی ہیں جہاں میٹا ڈیٹا مقامی ڈسک میں محفوظ ہوتا ہے۔ اسے ایمبیڈڈ میٹ اسٹور کنفیگریشن کہا جاتا ہے۔ اس معاملے میں ، ایک وقت میں صرف ایک صارف میت اسٹور ڈیٹا بیس سے رابطہ کرسکتا ہے۔ اگر آپ Hive ڈرائیور کی دوسری مثال شروع کرتے ہیں تو ، آپ کو ایک خرابی ہوگی۔ یہ یونٹ ٹیسٹنگ کے ل good اچھا ہے ، لیکن عملی حل کے ل. نہیں۔

2. مقامی میٹاسٹور:

یہ تشکیل ہمیں ایک سے زیادہ Hive سیشن رکھنے کی اجازت دیتی ہے یعنی متعدد صارفین بیک وقت میٹاسٹر ڈیٹا بیس کا استعمال کرسکتے ہیں۔ یہ کسی بھی جے ڈی بی سی کے مطابقت پذیر ڈیٹا بیس جیسے مائ ایس ایس کیو ایل کا استعمال کرتے ہوئے حاصل کیا گیا ہے جو ہیو سروس اور میٹاسٹور سروس سے الگ الگ جے وی ایم یا ایک مختلف مشین میں چلتا ہے جو اسی JVM میں چل رہا ہے جیسا کہ اوپر دکھایا گیا ہے۔ عام طور پر ، سب سے زیادہ مقبول انتخاب مائی اسٹور ڈیٹا بیس کے طور پر ایک ایس کیو ایل سرور کو نافذ کرنا ہے۔

3. ریموٹ میٹاسٹور:

ریموٹ میٹاسٹور کی تشکیل میں ، میٹاسٹور سروس اپنی الگ JVM پر چلتی ہے نہ کہ Hive سروس JVM پر مشتمل ہے۔ دوسرے عمل Thrift نیٹ ورک API کا استعمال کرتے ہوئے میٹاسٹور سرور کے ساتھ بات چیت کرتے ہیں۔ آپ کو زیادہ دستیابی فراہم کرنے کے ل You اس معاملے میں ایک یا زیادہ میٹاسٹور سرورز مل سکتے ہیں۔ریموٹ میٹا اسٹور کے استعمال کا سب سے بڑا فائدہ یہ ہے کہ آپ کو میٹا اسٹور کے ڈیٹا بیس تک رسائی کے ل to ہر Hive صارف کے ساتھ جے ڈی بی سی لاگ ان کی سند کو شیئر کرنے کی ضرورت نہیں ہے۔

اپاچی Hive سبق: ڈیٹا ماڈل

Hive میں موجود ڈیٹا کو دانے دار کی سطح پر تین اقسام میں درجہ بندی کیا جاسکتا ہے:

  • ٹیبل
  • تقسیم
  • بالٹی

میزیں:

Hive میں جدولیں متعلقہ ڈیٹا بیس میں جدولوں کی طرح ہیں۔ آپ ان پر فلٹر ، پروجیکٹ ، جوائن اور یونین آپریشن کرسکتے ہیں۔ Hive میں دو قسم کی میزیں ہیں:

1. منظم ٹیبل:

کمانڈ:

ٹیبل بنائیں (کالم 1 ڈیٹا_ ٹائپ ، کالم 2 ڈیٹا_ ٹائپ)

لوٹا ڈیٹا انپٹ میں ٹیبل کا انتظام_ٹیبل

جیسا کہ نام سے پتہ چلتا ہے (منظم جدول) ، ہیوی ایک منظم کردہ ٹیبل کے ڈیٹا کو منظم کرنے کی ذمہ دار ہے۔ دوسرے لفظوں میں ، میرا مطلب یہ تھا کہ ، 'Hive ڈیٹا کا انتظام کرتا ہے' ، کا مطلب یہ ہے کہ اگر آپ HDFS میں موجود فائل سے ڈیٹا کو Hive میں لوڈ کرتے ہیں۔ منظم ٹیبل اور اس پر DROP کمانڈ جاری کریں ، اس کے میٹا ڈیٹا کے ساتھ ٹیبل بھی حذف ہوجائے گا۔ تو ، گرا دیا سے متعلق اعداد و شمار مینیجڈ ٹیبل اب ایچ ڈی ایف ایس میں کہیں موجود نہیں ہے اور آپ اسے کسی بھی طرح سے بازیافت نہیں کرسکتے ہیں۔ بنیادی طور پر ، جب آپ ایچ ڈی ایف ایس فائل لوکیشن سے ہیو گودام ڈائریکٹری میں LOAD کمانڈ جاری کرتے ہیں تو آپ ڈیٹا منتقل کرتے ہیں۔

نوٹ: گودام ڈائریکٹری کا پہلے سے طے شدہ راستہ / صارف / چھتے / گودام پر سیٹ ہے۔ ایک Hive ٹیبل کا ڈیٹا گودام_ڈائریکٹری میں ہے / ٹیبل نام (ایچ ڈی ایف ایس)۔ آپ hive.metastore.warehouse.dir کنفیگریشن پیرامیٹر میں گودام ڈائریکٹری کا راستہ بھی hive-site.xml میں موجود مخصوص کرسکتے ہیں۔

ڈبل میں انٹ جاوا میں تبدیل کریں

2. بیرونی ٹیبل:

کمانڈ:

خارجی ٹیبل بنائیں (کالم 1 ڈیٹا_ائپ ، کالم 2 ڈیٹا_ ٹائپ) لوکیشن ‘‘

لوٹا ڈیٹا انپٹ۔ ’’ ٹیبل میں

کے لئے بیرونی میز ، Hive ڈیٹا کو سنبھالنے کے لئے ذمہ دار نہیں ہے۔ اس صورت میں ، جب آپ LOAD کمانڈ جاری کرتے ہیں ، تو Hive ڈیٹا کو اس کے گودام ڈائریکٹری میں منتقل کرتا ہے۔ پھر ، Hive بیرونی ٹیبل کے لئے میٹا ڈیٹا کی معلومات تیار کرتا ہے۔ اب ، اگر آپ پر DROP کمانڈ جاری کرتے ہیں بیرونی میز ، صرف بیرونی جدول سے متعلق میٹا ڈیٹا کی معلومات حذف کردی جائے گی۔ لہذا ، آپ اب بھی ایچ ڈی ایف ایس کمانڈز کا استعمال کرتے ہوئے گودام ڈائریکٹری سے اس بیرونی جدول کے ڈیٹا کو دوبارہ حاصل کرسکتے ہیں۔

پارٹیشنز:

کمانڈ:

ٹیبل ٹیبل نام بنائیں (کالم 1 ڈیٹا_ٹائپ ، کالم 2 ڈیٹا ٹائپ) بذریعہ پارٹشن (پارٹیشن 1 ڈیٹا ٹائپ ، پارٹیشن 2 ڈیٹا ٹائپ ، اور ہیلپ۔)

Hive کالم یا پارٹیشن کی کلید کی بنیاد پر اسی طرح کے ڈیٹا کو گروپ کرنے کے لئے پارٹیشنز میں ٹیبلز کا اہتمام کرتا ہے۔ ہر جدول میں ایک یا زیادہ پارٹیشن کیز ایک خاص پارٹیشن کی شناخت کے لئے ہوسکتی ہیں۔ اس سے ہمیں اعداد و شمار کے ٹکڑوں پر تیزی سے استفسار کرنے کی اجازت ملتی ہے۔

نوٹ: یاد رکھیں ، پارٹیشن بنانے کے دوران سب سے عام غلطی یہ ہے کہ کسی موجودہ کالم کا نام بطور پارٹیشن کالم متعین کیا جائے۔ ایسا کرتے وقت ، آپ کو ایک غلطی موصول ہوگی - 'سیمنٹ تجزیہ میں خامی: کالم تقسیم کے کالم میں دہرائے گئے ہیں'۔

آئیے اس مثال کو مثال کے طور پر تقسیم کرکے سمجھیں جہاں میرے پاس ایک ٹیبل طالب علم ہے جس میں کچھ انجینئرنگ کالجوں کے طالب علموں کی معلومات جیسے طالب علم_ایڈ ، نام ، محکمہ ، سال ، وغیرہ شامل ہیں۔ اب ، اگر میں ڈیپارٹمنٹ کالم کی بنیاد پر علیحدگی کرتا ہوں تو ، تمام طلبا کی معلومات کسی خاص محکمہ سے تعلق رکھنے والے کو اسی تقسیم میں اکٹھا کیا جائے گا۔ جسمانی طور پر ، تقسیم ٹیبل ڈائرکٹری میں سب ڈائرکٹری کے سوا کچھ نہیں ہے۔

چلیں ہم کہتے ہیں کہ ہمارے پاس ہمارے طالب علموں کی ڈیٹایلس ٹیبل میں تین محکموں کا ڈیٹا ہے - سی ایس ای ، ای سی ای اور سول۔ لہذا ، ہمارے پاس محکموں میں سے ہر ایک کے لئے مجموعی طور پر تین پارٹیشنز ہوں گے جیسا کہ ذیل کی تصویر میں دکھایا گیا ہے۔ اور ، ہر محکمے کے لئے ہمارے پاس اس بہت سے محکمے سے متعلق تمام ڈیٹا موجود ہوگا جو ہائیو ٹیبل ڈائرکٹری کے تحت ایک علیحدہ سب ڈائرکٹری میں رہتا ہے۔ مثال کے طور پر ، سی ایس ای محکموں سے متعلق تمام طلبہ کا ڈیٹا صارف / چھتہ / گودام / طالب علم_تفصیلات / محکمہ میں محفوظ ہوگا۔ = سی ایس ای۔ لہذا ، سی ایس ای طلباء سے متعلق سوالات کو صرف سی ایس ای پارٹیشن میں موجود اعداد و شمار کو تلاش کرنا ہوگا۔ یہ تقسیم کو بہت مفید بناتا ہے کیونکہ اس سے صرف اسکین کرنے سے استفسار میں تاخیر کم ہوتی ہے متعلقہ پورے ڈیٹا سیٹ کے بجائے تقسیم شدہ ڈیٹا۔ در حقیقت ، دنیا کے حقیقی نفاذ میں ، آپ سیکڑوں ٹی بی کے اعداد و شمار کے ساتھ معاملہ کریں گے۔ لہذا ، کچھ استفسار کے لئے ڈیٹا کی اس بڑی مقدار کو اسکین کرنے کا تصور کریں 95٪ آپ کے ذریعہ اسکین کردہ ڈیٹا آپ کے سوال سے غیر متعلق تھا۔

میں آپ کو مشورہ دوں گا کہ بلاگ کو آگے بڑھائیں چھتے کے احکامات جہاں آپ کو مثال کے ساتھ پارٹیشنوں کو لاگو کرنے کے مختلف طریقے ملیں گے۔

بالٹیاں:

احکام:

جدول کے مطابق ٹیبل نام تیار کریں

اب ، آپ ٹیبل میں کالم کے ہیش فنکشن کی بنیاد پر ہر پارٹیشن یا غیر تقسیم شدہ ٹیبل کو بالٹیوں میں تقسیم کرسکتے ہیں۔ دراصل ، ہر بالٹی پارٹیشن ڈائرکٹری یا ٹیبل ڈائرکٹری (غیر تقسیم شدہ جدول) میں صرف ایک فائل ہے۔ لہذا ، اگر آپ نے پارٹیشنوں کو ن بالٹیوں میں تقسیم کرنے کا انتخاب کیا ہے تو ، آپ کے ہر پارٹیشن ڈائریکٹری میں ن فائلیں ہوں گی۔ مثال کے طور پر ، آپ مندرجہ بالا شبیہہ دیکھ سکتے ہیں جہاں ہم نے ہر حصے کو 2 بالٹیوں میں بکٹ کیا ہے۔ لہذا ، ہر تقسیم ، CSE کا کہنا ہے کہ ، میں دو فائلیں ہوں گی جہاں ان میں سے ہر ایک CSE طالب علم کا ڈیٹا اسٹور کرے گا۔

Hive قطاروں کو بالٹیوں میں کیسے تقسیم کرتا ہے؟

ٹھیک ہے ، Hive فارمولے کا استعمال کرکے ایک قطار کیلئے بالٹی نمبر کا تعین کرتا ہے: ہیش_فنکشن (بکٹنگ_کلمونم) ماڈیولو (نمبر_آف_باکٹس) . یہاں ، ایچash_function کالم ڈیٹا کی قسم پر منحصر ہے۔ مثال کے طور پر ، اگر آپ کسی کالم کی بنیاد پر ٹیبل باکیٹنگ کر رہے ہیں تو ، آئی ٹی این ٹی ڈیٹا ٹائپ کے صارف_ ایڈ ، کا کہنا ہے کہ ، ہیش_فنکشن ہوگی۔ ہیش_فنکشن (صارف_ ID) ) = صارف_ ID کی عددی قیمت . اور ، فرض کریں کہ آپ نے دو بالٹیاں تشکیل دے دی ہیں ، پھر Hive حساب کے ذریعہ ہر تقسیم میں 1 بالٹی جانے والی قطاروں کا تعین کرے گا: (ماڈیولو (2) کے صارف کی قیمت۔ لہذا ، اس معاملے میں ، صارف کی تعداد کے حتمی عدد کے ساتھ اختتام پذیر ہونے والی قطاریں ہر حصے کے مطابق ایک ہی بالٹی میں رہیں گی۔ دیگر اعداد و شمار کی اقسام کے لئے ہیش_فنکشن کا حساب لگانا قدرے پیچیدہ ہے اور حقیقت میں ، اسٹرنگ کے ل human یہ انسانی طور پر پہچاننے والا بھی نہیں ہے۔

نوٹ: اگر آپ اپاچی ہائیو 0.x یا 1.x استعمال کررہے ہیں تو ، آپ کو بالٹی لگانے سے پہلے اپنے ہیوی ٹرمینل سے کمانڈ - سیٹ hive.enforce.bucketing = سچ جاری کرنا ہوگا۔ یہ آپ کو کالم بکیٹنگ کے لئے شق کے ذریعہ کلسٹر کا استعمال کرتے ہوئے ریڈسر کی صحیح تعداد حاصل کرنے کی اجازت دے گا۔ اگر آپ نے یہ کام نہیں کیا ہے تو ، آپ کو معلوم ہوگا کہ آپ کی ٹیبل ڈائرکٹری میں جو فائلیں بنائی گئی ہیں وہ بالٹیوں کی تعداد کے برابر نہیں ہیں۔ متبادل کے طور پر ، آپ سیٹ میپریڈڈریڈیس.ٹاسک = num_bucket کا استعمال کرکے بالٹیوں کی تعداد کے برابر ریڈوسر کی تعداد بھی مرتب کرسکتے ہیں۔

ہمیں بالٹیوں کی ضرورت کیوں ہے؟

تقسیم کے ل b بالٹی لگانے کی دو اہم وجوہات ہیں۔

  • TO نقشہ کی طرف شامل اسی پارٹیشن میں موجود ہونے کے لئے انوکھا جوائن کی کلید سے متعلق اعداد و شمار کی ضرورت ہوتی ہے۔ لیکن ان معاملات کا کیا ہوگا جہاں آپ کی پارٹیشن کی کلید شمولیت سے مختلف ہے؟ لہذا ، ان معاملات میں آپ جاب کی کلید کا استعمال کرکے ٹیبل کو بکٹ کر کے میپ سائیڈ جوائن کر سکتے ہیں۔
  • بکیٹنگ نمونے لینے کے عمل کو زیادہ موثر بناتی ہے اور اسی وجہ سے ہمیں استفسار کا وقت کم کرنے کی اجازت دیتا ہے۔

میں اس Hive سبق بلاگ کا اختتام یہاں کرنا چاہتا ہوں۔ مجھے اس بات کا یقین ہے کہ اس Hive ٹیوٹوریل بلاگ کے ذریعے جانے کے بعد ، آپ کو اپاچی Hive کی سادگی کا احساس ہوتا۔ چونکہ آپ لوگوں نے Hive کے تمام بنیادی اصول سیکھ لئے ہیں، اب وقت آگیا ہے کہ اپاچی چھتے کے تجربے پر کچھ ہاتھ رکھیں۔ تو ، اس Hive ٹیوٹوریل بلاگ سیریز میں اگلا بلاگ چیک کریں جو Hive کی تنصیب پر ہے اور اپاچی Hive پر کام شروع کریں۔

اب جب آپ اپاچی چھتے اور اس کی خصوصیات کو سمجھ چکے ہیں تو ، چیک کریں ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کے نیٹ ورک ہیں۔ ایڈورکا بگ ڈیٹا ہاڈوپ سرٹیفیکیشن ٹریننگ کورس سیکھنے والوں کو ایچ ڈی ایف ایس ، سوت ، میپریڈوسیس ، پگ ، ہائوی ، ایچ بیس ، اوزی ، فلیوم اور سکوپ میں ماہر بننے میں مدد دیتا ہے جس کا استعمال خوردہ ، سوشل میڈیا ، ہوا بازی ، سیاحت ، فنانس ڈومین پر حقیقی وقت کے استعمال کے معاملات ہے۔

ہمارے لئے ایک سوال ہے؟ برائے کرم اس کا تذکرہ سیکشن میں ذکر کریں اور ہم آپ کو واپس ملیں گے۔