Hive ڪاروبار ۾ وڏي پيماني تي استعمال ٿيل بگ ڊيٽا تجزياتي اوزار آهي، ۽ اهو شروع ڪرڻ لاءِ هڪ بهترين جڳهه آهي جيڪڏهن توهان بگ ڊيٽا ۾ نوان آهيو. هي Apache Hive سبق Apache Hive جي بنيادي ڳالهين مان گذري ٿو، ڇو ته هڪ ڇت ضروري آهي، ان جون خاصيتون، ۽ ٻيو سڀ ڪجهه توهان کي ڄاڻڻ گهرجي.
اچو ته پهريان سمجھون هاڊوپ فريم ورڪ جنهن تي اپاچي هائيو ٺهيل آهي.
اپاچي هادوپ
Apache Hadoop هڪ مفت آهي ۽ کليل ذريعو اسٽوريج ۽ پروسيسنگ لاءِ پليٽ فارم وڏي ڊيٽا سيٽن جي سائيز ۾ گيگا بائيٽ کان پيٽابيٽس تائين. هيڊوپ ڪيترن ئي ڪمپيوٽرن کي ڪلستر ڪرڻ جي اجازت ڏئي ٿو متوازي طور تي وڏي ڊيٽا سيٽن جو تجزيو ڪرڻ لاءِ، بلڪه هڪ وڏي ڪمپيوٽر کي ڊيٽا کي ذخيرو ڪرڻ ۽ تجزيو ڪرڻ جي ضرورت آهي.
MapReduce ۽ Hadoop تقسيم ٿيل فائل سسٽم جا ٻه حصا آهن:
- ميپ گهٽايو - MapReduce ھڪڙي متوازي پروگرامنگ ٽيڪنڪ آھي جنھن کي منظم، نيم ڍانچي، ۽ غير منظم ڊيٽا جي وڏي مقدار کي ڪموڊٽي هارڊويئر ڪلسٽرن تي ھٿ ڪرڻ لاءِ.
- ايڇ ڊي ايف ايس - HDFS (Hadoop Distributed File System) ھڪڙو ھيڊوپ فريم ورڪ جزو آھي جيڪو ڊيٽا کي ذخيرو ۽ پروسيس ڪري ٿو. اهو هڪ غلطي برداشت ڪندڙ فائيل سسٽم آهي جيڪو معياري هارڊويئر تي هلندو آهي
Hadoop ماحولياتي نظام ۾ مختلف ذيلي پروجيڪٽ (اوزار)، بشمول Sqoop، Pig ۽ Hive، Hadoop ماڊلز جي مدد لاءِ استعمال ٿيندا آھن.
- هائتي - Hive SQL طرز جي اسڪرپٽ لکڻ لاءِ ھڪڙو فريم ورڪ آھي جيڪو انجام ڏئي ٿو MapReduce computations.
- سور - سور هڪ پروسيسنگ پروگرامنگ ٻولي آهي جيڪا شايد MapReduce پروسيس لاءِ اسڪرپٽ ٺاهڻ لاءِ استعمال ٿي سگهي ٿي.
- اسڪوپ - Sqoop HDFS ۽ RDBMS جي وچ ۾ ڊيٽا درآمد ۽ برآمد ڪرڻ لاء هڪ اوزار آهي.
ڇا آھي اپاچي ڇِڪ?
Apache Hive هڪ کليل ذريعو آهي ڊيٽا گودام Apache Hadoop Distributed File System (HDFS) يا ٻين ڊيٽا اسٽوريج سسٽم جهڙوڪ Apache HBase ۾ ذخيرو ٿيل وڏي ڊيٽا سيٽ کي پڙهڻ، لکڻ ۽ انتظام ڪرڻ جو پروگرام.
SQL ڊولپر شايد Hive استعمال ڪري سگھن ٿا Hive Query Language (HQL) بيان ٺاهڻ لاءِ ڊيٽا جي سوال ۽ تجزيو لاءِ جيڪي باقاعده SQL بيانن سان برابر آھن. اهو ٺاهيو ويو MapReduce پروگرامنگ کي آسان بنائڻ لاءِ ڊگھو جاوا ڪوڊ سکڻ ۽ لکڻ جي ضرورت کي ختم ڪري. ان جي بدران، توھان پنھنجي سوالن کي HQL ۾ لکي سگھو ٿا، ۽ Hive نقشو ٺاھيندو ۽ توھان لاءِ ڪم گھٽائي ڇڏيندو.
Apache Hive جو SQL جهڙو انٽرفيس ايڊ-هاڪ ڳولها ڪرڻ، اختصار ڪرڻ، ۽ Hadoop ڊيٽا جو تجزيو ڪرڻ لاءِ گولڊ معيار بڻجي ويو آهي. جڏهن بادل ۾ شامل آهي ڪمپيوٽنگ نيٽ ورڪ, اهو حل خاص طور تي قيمتي اثرائتي ۽ اسپيبلبل آهي، اهو ئي سبب آهي ته ڪيتريون ئي ڪمپنيون، بشمول Netflix ۽ Amazon، Apache Hive کي ترقي ۽ بهتر ڪرڻ لاء جاري آهن.
تاريخ
فيس بوڪ تي سندن وقت دوران، جويديپ سين سرما ۽ آشيش ٿسو گڏجي اپاچي Hive ٺاهيا. انهن ٻنهي کي تسليم ڪيو ته Hadoop مان تمام گهڻو حاصل ڪرڻ لاء، انهن کي ڪجهه پيچيده جاوا ميپ-گهٽائڻ وارا ڪم ٺاهڻ گهرجن. انهن تسليم ڪيو ته اهي انهن جي تيزيءَ سان وڌندڙ انجنيئرنگ ۽ تجزياتي ٽيمن کي انهن مهارتن تي تعليم ڏيڻ جي قابل نه هوندا جيڪي انهن کي پوري ڪمپني ۾ Hadoop کي کڻڻ جي ضرورت پوندي. انجنيئرن ۽ تجزيه نگارن اڪثر استعمال ڪيو SQL کي يوزر انٽرفيس طور.
جڏهن ته SQL تجزياتي ضرورتن جي اڪثريت کي پورو ڪري سگهي ٿو، ڊولپرز پڻ شامل ڪرڻ جو ارادو ڪيو هو Hadoop جي پروگرام جي صلاحيت. Apache Hive انهن ٻن مقصدن مان پيدا ٿيو: هڪ SQL-based declarative language جيڪا پڻ ڊولپرز کي انهن جي پنهنجي اسڪرپٽس ۽ پروگرامن ۾ آڻڻ جي قابل بڻائي ٿي جڏهن SQL ڪافي نه هو.
اهو پڻ ترقي ڪيو ويو مرڪزي ميٽاداٽا (هڊوپ تي ٻڌل) ڪمپني جي سڀني ڊيٽا سيٽن جي باري ۾ ته جيئن ڊيٽا تي هلندڙ تنظيمن جي تعمير کي آسان بڻائي سگهجي.
Apache Hive ڪيئن ڪم ڪندو آهي؟
مختصر ۾، Apache Hive HiveQL (SQL-like) ٻوليءَ ۾ لکيل هڪ ان پٽ پروگرام کي هڪ يا وڌيڪ Java MapReduce، Tez، يا Spark ڪمن ۾ بدلائي ٿو. (اهي سڀ ايگزيڪيوشن انجڻ هيڊوپ يارن سان مطابقت رکن ٿا.) ان کان پوءِ، Apache Hive ڊيٽا کي ترتيب ڏئي ٿو جدولن ۾ Hadoop Distributed File System HDFS) ۽ جواب حاصل ڪرڻ لاءِ ڪلستر تي ڪم سرانجام ڏئي ٿو.
ڊيٽا
Apache Hive جدولن کي ساڳيءَ طرح ترتيب ڏنو ويو آھي جيئن ھڪڙي تعلقي ڊيٽابيس ۾ جدولن کي منظم ڪيو ويو آھي، ڊيٽا يونٽن سان گڏ سائيز ۾ وڏي کان ننڍي تائين. ڊيٽابيس جدولن مان ٺهيل آهن جيڪي ڊويزنن ۾ ورهايل آهن، جيڪي اڳتي هلي بالٽ ۾ ورهايل آهن. HiveQL (Hive Query Language) ڊيٽا تائين رسائي حاصل ڪرڻ لاءِ استعمال ڪيو ويندو آھي، جنھن کي تبديل يا شامل ڪري سگھجي ٿو. جدول ڊيٽا هر ڊيٽابيس ۾ سيريل ٿيل آهي، ۽ هر ٽيبل جي پنهنجي HDFS ڊاريڪٽري آهي.
تعمير
هاڻي اسان Hive آرڪيٽيڪچر جي سڀ کان اهم پهلو بابت ڳالهائينداسين. Apache Hive جا اجزاء هن ريت آهن:
ميٽاسٽور - اهو هر ٽيبل بابت معلومات جي ٽريڪ رکي ٿو، جهڙوڪ ان جي جوڙجڪ ۽ مقام. ورهاڱي جي ميٽا ڊيٽا پڻ Hive ۾ شامل آهي. هي ڊرائيور کي اجازت ڏئي ٿو ته ڪلستر ۾ پکڙيل مختلف ڊيٽا سيٽن جي ترقي جي ٽريڪ رکو. ڊيٽا هڪ روايتي RDBMS فارميٽ ۾ ذخيرو ٿيل آهي. Hive metadata انتهائي اهم آهي ڊرائيور لاءِ ڊيٽا جي ٽريڪ کي برقرار رکڻ لاءِ. بيڪ اپ سرور ڊيٽا کي باقاعده بنياد تي نقل ڪري ٿو ته جيئن ڊيٽا جي نقصان جي صورت ۾ اهو بحال ٿي سگهي.
ڊرائيور - HiveQL بيان هڪ ڊرائيور طرفان وصول ڪيا ويا آهن، جيڪو هڪ ڪنٽرولر طور ڪم ڪري ٿو. سيشن قائم ڪندي، ڊرائيور بيان جي عمل کي شروع ڪري ٿو. اهو ايگزيڪيوٽو جي عمر ۽ ترقي جي ٽريڪ رکي ٿو. HiveQL بيان جي عمل جي دوران، ڊرائيور گهربل ميٽا ڊيٽا محفوظ ڪري ٿو. اهو پڻ ڪم ڪري ٿو ڊيٽا يا سوال جي نتيجن کي گڏ ڪرڻ واري نقطي کي گهٽائڻ جي عمل جي پٺيان.
گڏ ڪرڻ - اهو HiveQL سوال جي تاليف تي عمل ڪري ٿو. سوال ھاڻي ھڪڙي عمل جي منصوبي ۾ تبديل ڪيو ويو آھي. ڪم منصوبي ۾ درج ٿيل آهن. ان ۾ اهي قدم به شامل آهن جيڪي MapReduce کي حاصل ڪرڻ گهرجن جيئن سوال جي ترجمو ڪيل نتيجو. سوال کي Hive جي ڪمپلر (AST) پاران خلاصو نحو جي وڻ ۾ تبديل ڪيو ويو آهي. مطابقت ۽ مرتب وقت جي غلطين (DAG) جي چڪاس ڪرڻ کان پوءِ AST کي سڌو ايڪائيڪل گراف ۾ تبديل ڪري ٿو.
Optimizer - اهو ڊيگ کي بهتر بڻائي ٿو مختلف تبديلين کي انجام ڏيڻ جي عمل جي منصوبي تي. اهو بهتر ڪارڪردگي لاءِ تبديلين کي گڏ ڪري ٿو، جيئن جوائن جي پائپ لائن کي هڪ واحد جوائن ۾ تبديل ڪرڻ. رفتار کي بهتر ڪرڻ لاءِ، اصلاح ڪندڙ سرگرمين کي ورهائي سگھي ٿو، جيئن گھٽتائي واري عمل کي انجام ڏيڻ کان اڳ ڊيٽا ۾ تبديلي لاڳو ڪرڻ.
سيکاريندڙ - ايگزيڪيوٽر ڪمن کي هلائي ٿو جڏهن تاليف ۽ اصلاح مڪمل ٿي وڃي ٿي. نوڪريون ايگزيڪيوٽر طرفان پائپ لائن ٿيل آهن.
CLI، UI، ۽ Thrift سرور - ڪمانڊ لائن انٽرفيس (CLI) ھڪڙو استعمال ڪندڙ انٽرفيس آھي جيڪو ھڪڙي خارجي صارف کي Hive سان ڳالھ ٻولھ ڪرڻ جي اجازت ڏئي ٿو. Hive جو thrift سرور، JDBC يا ODBC پروٽوڪول سان ملندڙ جلندڙ، ٻاهرين گراهڪن کي اجازت ڏئي ٿو Hive سان نيٽ ورڪ ذريعي رابطو ڪري.
سيڪيورٽي
Apache Hive Hadoop سيڪيورٽي سان ضم ٿي ويو آهي، جيڪو ڪلائنٽ-سرور جي گڏيل تصديق لاءِ Kerberos استعمال ڪري ٿو. HDFS Apache Hive ۾ نئين ٺاهيل فائلن لاءِ اجازتن جو حڪم ڏئي ٿو، توهان کي اجازت ڏيڻ جي اجازت ڏئي ٿي صارف، گروپ، ۽ ٻين طرفان.
اهم خاصيتون
- Hive ٻاهرين جدولن کي سپورٽ ڪري ٿو، جيڪا توهان کي HDFS ۾ ذخيرو ڪرڻ جي بغير ڊيٽا کي پروسيس ڪرڻ جي اجازت ڏئي ٿي.
- اهو رفتار وڌائڻ لاءِ ٽيبل جي سطح تي ڊيٽا جي ڀاڱي کي به قابل بڻائي ٿو.
- Apache Hive شاندار طور تي Hadoop جي گھٽ سطح جي انٽرفيس جي ضرورت کي پورو ڪري ٿو.
- Hive ڊيٽا جو خلاصو، سوال، ۽ تجزيو آسان بڻائي ٿو.
- HiveQL ڪنهن به پروگرامنگ صلاحيتن جي ضرورت ناهي؛ SQL سوالن جي سادي سمجھ ڪافي آھي.
- اسان ڊيٽا جي تجزيي لاءِ ايڊ-هاڪ سوالن کي هلائڻ لاءِ Hive پڻ استعمال ڪري سگهون ٿا.
- اهو اسپيبل، واقف، ۽ موافقت لائق آهي.
- HiveQL ڪنهن به پروگرامنگ صلاحيتن جي ضرورت ناهي؛ SQL سوالن جي سادي سمجھ ڪافي آھي.
فائدا
Apache Hive ڏينهن جي آخر جي رپورٽن، روزاني ٽرانزيڪشن جي جائزي، ايڊهاڪ ڳولها، ۽ ڊيٽا جي تجزيي جي اجازت ڏئي ٿي. Apache Hive پاران مهيا ڪيل جامع بصيرت اهم مقابلي واري فائدن کي ڏئي ٿي ۽ توهان کي مارڪيٽ جي مطالبن جو جواب ڏيڻ آسان بڻائي ٿي.
ھتي ڪجھ فائدا آھن جن مان اھڙي معلومات آسانيءَ سان دستياب آھي:
- استعمال جي آسانيء - ان جي SQL-جهڙي ٻولي سان، سوال ڪرڻ واري ڊيٽا کي سمجھڻ آسان آھي.
- تيز ڊيٽا داخل ڪرڻ - ڇاڪاڻ ته Apache Hive ٽيبل جي قسم يا اسڪيما جي تعريف جي تصديق ڪرڻ کان سواءِ اسڪيما کي پڙهي ٿو، ڊيٽا کي پڙهڻ، پارس ڪرڻ، ۽ ڊيٽابيس جي اندروني شڪل ۾ ڊسڪ کي سيريل ڪرڻ جي ضرورت ناهي. ان جي ابتڙ، هڪ روايتي ڊيٽابيس ۾، ڊيٽا کي هر دفعي ان کي شامل ڪيو وڃي ٿو تصديق ڪيو وڃي.
- اعليٰ اسڪاليبلٽي، لچڪ، ۽ قيمت-اثرائتي - ڇاڪاڻ ته ڊيٽا HDFS ۾ ذخيرو ٿيل آهي، Apache Hive ڊيٽا جي 100s پيٽابائيٽس کي رکي سگهي ٿو، اهو هڪ عام ڊيٽابيس جي ڀيٽ ۾ وڌيڪ اسپيبلبل اختيار ٺاهيندي. Apache Hive، بادل تي ٻڌل Hadoop سروس جي طور تي، گراهڪن کي تيزيءَ سان ورچوئل سرورز کي مٿي ۽ ھيٺ ڪرڻ جي اجازت ڏئي ٿو ته جيئن بدلجندڙ ڪم لوڊ کي پورا ڪري سگھي.
- وسيع ڪم ڪرڻ جي گنجائش - وڏا ڊيٽا سيٽ 100,000 سوالن کي في ڪلاڪ سنڀالي سگھن ٿا.
حدون
- عام طور تي، Apache Hive سوالن ۾ تمام گهڻي ويڪرائي آهي.
- سوالن جي حمايت محدود آهي.
- Apache Hive ۾ حقيقي وقت جا سوال ۽ قطار-سطح جون تبديليون موجود نه آهن.
- مادي نظرين جي ڪا به حمايت نه آهي.
- Hive ۾، تازه ڪاري ۽ حذف ڪارناما سپورٽ نه آهن.
- OLTP لاءِ ارادو ناهي (آن لائن عبوري عمل).
Apache Hive سان شروع ڪرڻ
Apache Hive هڪ مضبوط Hadoop پارٽنر آهي جيڪو توهان جي ڪم جي فلوز کي آسان ۽ منظم ڪري ٿو. Apache Hive مان تمام گهڻو حاصل ڪرڻ لاءِ، بيحد انضمام ضروري آهي. پهريون قدم ڏانهن وڃڻ آهي ويب سائيٽ.
1. هڪ مستحڪم رليز کان انسٽاليشن Hive
اپاچي ڊائون لوڊ آئرن مان هڪ مان Hive جي تازي مستحڪم رليز کي ڊائون لوڊ ڪندي شروع ڪريو (ڏسو Hive رليز). ٽربال کي ان کان پوءِ انپيڪ ڪيو وڃي. هي هڪ ذيلي فولڊر ٺاهيندو جنهن کي hive-xyz سڏيو ويندو آهي (جتي xyz رليز نمبر آهي):
انسٽاليشن ڊاريڪٽري ڏانهن اشارو ڪرڻ لاء ماحول متغير HIVE_HOME سيٽ ڪريو:
آخرڪار، شامل ڪريو $HIVE_HOME/bin توهان جي PATH
:
2. رننگ Hive
Hive استعمال ڪري ٿو Hadoop، تنهنڪري:
- توھان کي توھان جي رستي ۾ ھڊوپ ھجڻ گھرجي يا
3. ڊي ايل ايل آپريشن
Hive ٽيبل ٺاهڻ
پوڪس نالي هڪ ٽيبل ٺاهي ٿو ٻن ڪالمن سان، جنهن جو پهريون هڪ انٽيجر آهي ۽ ٻيو هڪ اسٽرنگ آهي.
ٽيبل ذريعي برائوزنگ
سڀني جدولن جي فهرست
ڦيرائڻ ۽ ڇڏڻ واري ٽيبل
ٽيبل جا نالا تبديل ڪري سگھجن ٿا ۽ ڪالم شامل ڪري سگھجن ٿا يا تبديل ڪري سگھجن ٿا:
اهو نوٽ ڪرڻ جي قابل آهي ته REPLACE COLUMNS سڀني موجوده ڪالمن کي تبديل ڪري ٿو جڏهن صرف ٽيبل جي جوڙجڪ کي تبديل ڪندي ۽ ڊيٽا نه. هڪ ڏيهي SerDe ٽيبل ۾ استعمال ڪيو وڃي. REPLACE COLUMNS پڻ استعمال ڪري سگھجن ٿا ڪالمن کي ٽيبل جي اسڪيما مان هٽائڻ لاءِ:
گرڻ واري ٽيبل
Apache Hive ۾ ڪيترائي اضافي آپريشن ۽ خاصيتون آھن جن بابت توھان سکي سگھو ٿا سرڪاري ويب سائيٽ دورو ڪندي.
ٿڪل
Hive تعريف هڪ ڊيٽا پروگرام انٽرفيس آهي سوال ڪرڻ ۽ تجزيو ڪرڻ لاءِ وڏي ڊيٽا سيٽن لاءِ جيڪي Apache Hadoop جي چوٽي تي ٺهيل آهن. پروفيسر ان کي ٻين پروگرامن، اوزارن، ۽ سافٽ ويئر تي چونڊيندا آهن ڇو ته اهو بنيادي طور تي Hive وسيع ڊيٽا لاءِ ٺهيل آهي ۽ استعمال ڪرڻ آسان آهي.
اميد آهي ته هي سبق توهان کي Apache Hive سان ڪڪ شروع ڪرڻ ۾ مدد ڪندو ۽ توهان جي ڪم جي فلوز کي وڌيڪ ڪارائتو بڻائيندو. اچو ته تبصرن ۾ ڄاڻون.
جواب ڇڏي وڃو