تجزیاتی پلیٹ فارمز میں کم کوڈ کا اطلاق

پیارے قارئین، اچھا دن!

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

تجزیاتی پلیٹ فارمز میں کم کوڈ کا اطلاق

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

تاہم، کس صورت میں ڈیٹا اینالیٹکس کے کام "راکٹ سائنس" کلاس کے مسائل میں ترقی کر سکتے ہیں؟ شاید اس وقت جب ہم واقعی بڑے ڈیٹا کے بارے میں بات کر رہے ہیں۔
راکٹ سائنس کو آسان بنانے کے لیے، آپ ہاتھی کے ٹکڑے ٹکڑے کر کے کھا سکتے ہیں۔

تجزیاتی پلیٹ فارمز میں کم کوڈ کا اطلاق

آپ کی ایپلی کیشنز/سروسز/مائیکرو سروسز جتنی زیادہ مجرد اور خود مختار ہوں گی، آپ کے لیے، آپ کے ساتھیوں اور پورے کاروبار کے لیے ہاتھی کو ہضم کرنا اتنا ہی آسان ہوگا۔

ہمارے تقریباً تمام کلائنٹس ڈیو اوپس ٹیموں کے انجینئرنگ طریقوں کی بنیاد پر زمین کی تزئین کی دوبارہ تعمیر کرتے ہوئے اس عہد پر آئے۔

لیکن یہاں تک کہ ایک "علیحدہ، ہاتھی" غذا کے ساتھ، ہمارے پاس IT زمین کی تزئین کی "oversaturation" کا اچھا موقع ہے۔ اس وقت یہ رکنے، سانس چھوڑنے اور پہلو کی طرف دیکھنے کے قابل ہے۔ کم کوڈ انجینئرنگ پلیٹ فارم.

کم کوڈ سسٹمز کے UI انٹرفیس میں "ڈریگنگ" ایرو کی طرف براہ راست کوڈ لکھنے سے ہٹ کر بہت سے ڈویلپرز اپنے کیریئر کے ختم ہونے کے امکان سے خوفزدہ ہیں۔ لیکن مشینی اوزاروں کی آمد نے انجینئروں کی گمشدگی کا باعث نہیں بنایا، بلکہ ان کے کام کو ایک نئی سطح پر پہنچا دیا!

آئیے اس کی وجہ معلوم کریں۔

لاجسٹکس، ٹیلی کام انڈسٹری، میڈیا ریسرچ، فنانشل سیکٹر کے شعبے میں ڈیٹا کا تجزیہ ہمیشہ درج ذیل سوالات سے منسلک ہوتا ہے۔

  • خودکار تجزیہ کی رفتار؛
  • اہم ڈیٹا کی پیداوار کے بہاؤ کو متاثر کیے بغیر تجربات کرنے کی صلاحیت؛
  • تیار کردہ ڈیٹا کی وشوسنییتا؛
  • ٹریکنگ اور ورژن تبدیل کریں؛
  • ڈیٹا پرووینس، ڈیٹا نسب، سی ڈی سی؛
  • پیداواری ماحول میں نئی ​​خصوصیات کی تیز ترسیل؛
  • اور بدنام: ترقی اور مدد کی قیمت۔

یعنی انجینئرز کے پاس اعلیٰ سطحی کاموں کی ایک بڑی تعداد ہوتی ہے، جو کم درجے کے ترقیاتی کاموں کے بارے میں ان کے شعور کو صاف کرکے ہی کافی کارکردگی کے ساتھ مکمل کیے جاسکتے ہیں۔

ڈویلپرز کے لیے ایک نئی سطح پر جانے کی شرطیں کاروبار کا ارتقا اور ڈیجیٹلائزیشن تھیں۔ ڈویلپر کی قدر بھی بدل رہی ہے: ڈویلپرز کی ایک خاصی کمی ہے جو خود کو کاروبار کے خودکار ہونے کے تصورات میں غرق کر سکتے ہیں۔

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

لہذا، کم کوڈ تجرید کی ایک اور سطح کی صرف ظاہری شکل ہے۔

کم کوڈ کا استعمال کرنے والا تجربہ

کم کوڈ کا موضوع کافی وسیع ہے، لیکن اب میں اپنے ایک پروجیکٹ کی مثال کا استعمال کرتے ہوئے "کم کوڈ کے تصورات" کے عملی اطلاق کے بارے میں بات کرنا چاہوں گا۔

Neoflex کا بگ ڈیٹا سلوشنز ڈویژن کاروبار کے مالیاتی شعبے، ڈیٹا گوداموں اور جھیلوں کی تعمیر اور مختلف رپورٹنگ کو خودکار کرنے میں زیادہ مہارت رکھتا ہے۔ اس طاق میں، کم کوڈ کا استعمال طویل عرصے سے ایک معیار بن گیا ہے۔ کم کوڈ والے دیگر ٹولز میں، ہم ای ٹی ایل کے عمل کو منظم کرنے کے لیے ٹولز کا ذکر کر سکتے ہیں: انفارمیٹیکا پاور سینٹر، آئی بی ایم ڈیٹاسٹیج، پینٹاہو ڈیٹا انٹیگریشن۔ یا Oracle Apex، جو ڈیٹا تک رسائی اور ترمیم کے لیے انٹرفیس کی تیز رفتار ترقی کے لیے ایک ماحول کے طور پر کام کرتا ہے۔ تاہم، کم کوڈ ڈویلپمنٹ ٹولز کے استعمال میں ہمیشہ وینڈر پر واضح انحصار کے ساتھ تجارتی ٹیکنالوجی کے اسٹیک پر انتہائی ٹارگٹ ایپلی کیشنز کی تعمیر شامل نہیں ہوتی ہے۔

کم کوڈ پلیٹ فارمز کا استعمال کرتے ہوئے، آپ ڈیٹا کے بہاؤ کی آرکیسٹریشن کو بھی منظم کر سکتے ہیں، ڈیٹا سائنس پلیٹ فارمز یا مثال کے طور پر، ڈیٹا کے معیار کو جانچنے کے لیے ماڈیول بنا سکتے ہیں۔

کم کوڈ ڈویلپمنٹ ٹولز کے استعمال میں تجربے کی ایک قابل اطلاق مثال Neoflex اور Mediascope کے درمیان تعاون ہے، جو روسی میڈیا ریسرچ مارکیٹ کے لیڈروں میں سے ایک ہے۔ اس کمپنی کے کاروباری مقاصد میں سے ایک ڈیٹا کی تیاری ہے جس کی بنیاد پر مشتہرین، انٹرنیٹ پلیٹ فارمز، ٹی وی چینلز، ریڈیو سٹیشنز، اشتہاری ایجنسیاں اور برانڈز اشتہارات کی خریداری کے بارے میں فیصلے کرتے ہیں اور اپنی مارکیٹنگ مواصلات کی منصوبہ بندی کرتے ہیں۔

تجزیاتی پلیٹ فارمز میں کم کوڈ کا اطلاق

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

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

ہمارے سامنے کام واقعی مہتواکانکشی تھا - Neoflex اور Mediascope کو ایک سال سے بھی کم وقت میں ایک صنعتی حل تیار کرنا تھا، جس کا آغاز تاریخ کی پہلی سہ ماہی کے اندر MVP کی رہائی سے مشروط تھا۔

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

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

تجزیاتی پلیٹ فارمز میں کم کوڈ کا اطلاق

کم کوڈ ڈیٹاگرام ٹول کو ڈیٹا میپنگ کے لیے مرکزی طریقہ کار کے طور پر منتخب کیا گیا تھا۔ نیوفلیکس ڈیٹاگرام تبدیلیوں اور ڈیٹا کے بہاؤ کو تیار کرنے کا ایک ٹول ہے۔
اس ٹول کا استعمال کرتے ہوئے، آپ Scala کوڈ کو دستی طور پر لکھے بغیر کر سکتے ہیں۔ اسکالا کوڈ ماڈل پر مبنی آرکیٹیکچر اپروچ کا استعمال کرتے ہوئے خود بخود تیار ہوتا ہے۔

اس نقطہ نظر کا ایک واضح فائدہ ترقی کے عمل کو تیز کرنا ہے۔ تاہم، رفتار کے علاوہ، مندرجہ ذیل فوائد بھی ہیں:

  • ذرائع / وصول کنندگان کے مواد اور ساخت کو دیکھنا؛
  • انفرادی شعبوں (نسب) میں ڈیٹا فلو اشیاء کی اصلیت کا سراغ لگانا؛
  • انٹرمیڈیٹ نتائج کو دیکھنے کے ساتھ تبدیلیوں کا جزوی نفاذ؛
  • سورس کوڈ کا جائزہ لینا اور عمل درآمد سے پہلے اسے ایڈجسٹ کرنا؛
  • تبدیلیوں کی خودکار توثیق؛
  • خودکار ڈیٹا ڈاؤن لوڈ 1 میں 1۔

تبدیلیاں پیدا کرنے کے لیے کم کوڈ کے حل میں داخلے میں رکاوٹ کافی کم ہے: ڈویلپر کو SQL جاننے کی ضرورت ہے اور اسے ETL ٹولز کے ساتھ کام کرنے کا تجربہ ہونا چاہیے۔ یہ بات قابل ذکر ہے کہ کوڈ سے چلنے والے ٹرانسفارمیشن جنریٹر لفظ کے وسیع معنی میں ETL ٹولز نہیں ہیں۔ کم کوڈ والے ٹولز کا اپنا کوڈ پر عمل درآمد کا ماحول نہیں ہوسکتا ہے۔ یعنی، تیار کردہ کوڈ کو اس ماحول میں عمل میں لایا جائے گا جو کم کوڈ کے حل کو انسٹال کرنے سے پہلے ہی کلسٹر پر موجود تھا۔ اور یہ شاید کم کوڈ کرما کے لیے ایک اور پلس ہے۔ چونکہ، کم کوڈ والی ٹیم کے متوازی طور پر، ایک "کلاسک" ٹیم کام کر سکتی ہے جو فعالیت کو نافذ کرتی ہے، مثال کے طور پر، خالص Scala کوڈ میں۔ دونوں ٹیموں کی طرف سے پیداوار میں بہتری لانا آسان اور ہموار ہو گا۔

یہ شاید قابل توجہ ہے کہ کم کوڈ کے علاوہ، بغیر کوڈ کے حل بھی ہیں۔ اور ان کی اصل میں، یہ مختلف چیزیں ہیں. کم کوڈ ڈویلپر کو تیار کردہ کوڈ میں مزید مداخلت کرنے کی اجازت دیتا ہے۔ ڈیٹاگرام کے معاملے میں، تیار کردہ Scala کوڈ کو دیکھنا اور اس میں ترمیم کرنا ممکن ہے؛ no-code ایسا موقع فراہم نہیں کر سکتا۔ یہ فرق نہ صرف حل کی لچک کے لحاظ سے بلکہ ڈیٹا انجینئرز کے کام میں سکون اور حوصلہ افزائی کے لحاظ سے بھی بہت اہم ہے۔

حل فن تعمیر

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

تجزیاتی پلیٹ فارمز میں کم کوڈ کا اطلاق

ہمارے معاملے میں ڈیٹا کے ذرائع بہت متفاوت اور متنوع ہیں:

  • پیپل میٹرز (ٹی وی میٹر) سافٹ ویئر اور ہارڈویئر ڈیوائسز ہیں جو ٹیلی ویژن پینل کے جواب دہندگان سے صارف کے رویے کو پڑھتے ہیں - مطالعہ میں حصہ لینے والے گھرانے میں کس نے، کب اور کون سا ٹی وی چینل دیکھا۔ فراہم کردہ معلومات میڈیا پیکج اور میڈیا پروڈکٹ سے منسلک نشریاتی دیکھنے کے وقفوں کا ایک سلسلہ ہے۔ ڈیٹا لیک میں لوڈ ہونے کے مرحلے پر ڈیٹا کو آبادیاتی خصوصیات، جیوسٹریٹیفیکیشن، ٹائم زون اور کسی خاص میڈیا پروڈکٹ کے ٹیلی ویژن دیکھنے کا تجزیہ کرنے کے لیے ضروری دیگر معلومات کے ساتھ افزودہ کیا جا سکتا ہے۔ لی گئی پیمائش کا استعمال اشتہاری مہمات کا تجزیہ کرنے یا منصوبہ بندی کرنے، سامعین کی سرگرمی اور ترجیحات کا جائزہ لینے اور براڈکاسٹ نیٹ ورک کو مرتب کرنے کے لیے کیا جا سکتا ہے۔
  • ڈیٹا ٹیلی ویژن کی نشریات کو چلانے اور انٹرنیٹ پر ویڈیو وسائل کے مواد کو دیکھنے کی پیمائش کے لیے نگرانی کے نظام سے حاصل کیا جا سکتا ہے۔
  • ویب ماحول میں پیمائش کرنے والے ٹولز، بشمول سائٹ سینٹرک اور یوزر سینٹرک میٹر۔ ڈیٹا لیک کے لیے ڈیٹا فراہم کرنے والا ایک ریسرچ بار براؤزر ایڈ آن اور بلٹ ان VPN کے ساتھ ایک موبائل ایپلیکیشن ہو سکتا ہے۔
  • ڈیٹا ان سائٹس سے بھی آ سکتا ہے جو آن لائن سوالناموں کو پُر کرنے کے نتائج اور کمپنی کے سروے میں ٹیلی فون انٹرویوز کے نتائج کو یکجا کرتی ہیں۔
  • ڈیٹا لیک کی اضافی افزودگی پارٹنر کمپنیوں کے لاگ سے معلومات ڈاؤن لوڈ کر کے ہو سکتی ہے۔

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

تاہم، اس پروجیکٹ کے تناظر میں، ہم نے کم کوڈ والے پلیٹ فارم کی اس خصوصیت کو استعمال نہ کرنے کا فیصلہ اس حقیقت کی وجہ سے کیا کہ Mediascope کمپنی نے Nifi + Kafka کے امتزاج کا استعمال کرتے ہوئے پہلے ہی آزادانہ طور پر اسی طرح کی سروس تیار کرنے پر کام شروع کر دیا ہے۔

یہ فوری طور پر اس بات کی نشاندہی کرنے کے قابل ہے کہ یہ اوزار قابل تبادلہ نہیں ہیں، بلکہ تکمیلی ہیں۔ Nifi اور Kafka دونوں براہ راست (Nifi -> Kafka) اور ریورس (Kafka -> Nifi) کنکشن میں کام کرنے کے قابل ہیں۔ میڈیا ریسرچ پلیٹ فارم کے لیے، بنڈل کا پہلا ورژن استعمال کیا گیا تھا۔

تجزیاتی پلیٹ فارمز میں کم کوڈ کا اطلاق

ہمارے معاملے میں، NayFi کو سورس سسٹمز سے مختلف قسم کے ڈیٹا پر کارروائی کرنے اور انہیں کافکا بروکر کو بھیجنے کی ضرورت ہے۔ اس صورت میں، PublishKafka Nifi پروسیسرز کا استعمال کرتے ہوئے ایک مخصوص کافکا موضوع پر پیغامات بھیجے گئے تھے۔ ان پائپ لائنوں کی آرکیسٹریشن اور دیکھ بھال ایک بصری انٹرفیس میں کی جاتی ہے۔ Nifi ٹول اور Nifi + Kafka کے امتزاج کے استعمال کو ترقی کے لیے ایک کم کوڈ اپروچ بھی کہا جا سکتا ہے، جس میں بگ ڈیٹا ٹیکنالوجیز میں داخلے میں کم رکاوٹ ہوتی ہے اور ایپلیکیشن ڈویلپمنٹ کے عمل کو تیز کرتا ہے۔

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

ٹارگٹ فن تعمیر کو کاروباری صارفین کے لیے ڈیٹا تک SQL رسائی درکار ہے۔ اس اختیار کے لیے Hive استعمال کیا گیا تھا۔ جب آپ کم کوڈ والے ٹول میں "رجسٹر ہائیو ٹیبل" آپشن کو فعال کرتے ہیں تو آبجیکٹ Hive میں خود بخود رجسٹر ہو جاتے ہیں۔

تجزیاتی پلیٹ فارمز میں کم کوڈ کا اطلاق

حساب بہاؤ کنٹرول

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

اگر کمپنی کے پاس پہلے سے ہی اپنا پروسیس آرکیسٹریٹر ہے، تو یہ ممکن ہے کہ REST API کا استعمال میپنگ کو موجودہ بہاؤ میں سرایت کرنے کے لیے کیا جائے۔ مثال کے طور پر، ہم نے پی ایل ایس کیو ایل اور کوٹلن میں لکھے ہوئے آرکیسٹریٹرز میں اسکیلا میں نقشہ جات کو سرایت کرنے کا کافی کامیاب تجربہ کیا۔ کم کوڈ والے ٹول کے REST API میں میپنگ ڈیزائن کی بنیاد پر ایک قابل عمل سال تیار کرنا، میپنگ کو کال کرنا، میپنگ کے سلسلے کو کال کرنا، اور یقیناً میپنگ چلانے کے لیے URL کو پیرامیٹرز منتقل کرنا شامل ہیں۔

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

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

کم کوڈ حل میپنگ شروع کرنے کے لیے کنفیگریشن فائل فارمیٹ اسپارک سبمٹ بن گیا ہے۔ یہ دو وجوہات کی بنا پر ہوا۔ سب سے پہلے، spark-submit آپ کو کنسول سے براہ راست جار فائل چلانے کی اجازت دیتا ہے۔ دوم، اس میں ورک فلو کو ترتیب دینے کے لیے تمام ضروری معلومات شامل ہو سکتی ہیں (جس سے اسکرپٹ لکھنا آسان ہو جاتا ہے جو ڈیگ تیار کرتے ہیں)۔
ہمارے معاملے میں ایئر فلو ورک فلو کا سب سے عام عنصر SparkSubmitOperator تھا۔

SparkSubmitOperator آپ کو جار چلانے کی اجازت دیتا ہے۔

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

ایک ساتھ لے کر، ڈیٹاگرام کے کم کوڈ کے حل کے استعمال کے ساتھ مل کر کنفیگریشن فائلوں کے یونیورسلائزیشن (Dag بنانے) سے ڈیٹا لوڈنگ فلو کو تیار کرنے کے عمل میں نمایاں سرعت اور آسانیاں پیدا ہوئیں۔

حساب کتاب دکھائیں۔

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

تجزیاتی پلیٹ فارمز میں کم کوڈ کا اطلاق

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

توثیق کے الگورتھم کو درج ذیل ذیلی مراحل میں الگ کرنے کا فیصلہ کیا گیا:

  • 60 دنوں کے لیے خطے کے تمام نیٹ ورکس کو دیکھنے کے ساتھ کسی خطے میں ٹی وی نیٹ ورک دیکھنے کے انحصار کی ریگریشنز بنانا۔
  • تمام ریگریشن پوائنٹس کے لیے اور حسابی دن کے لیے طالب علم کی باقیات کا حساب کتاب (رجعت ماڈل کے ذریعے پیش گوئی کی گئی اصل اقدار سے انحراف)۔
  • غیر معمولی علاقائی نیٹ ورک کے جوڑوں کا انتخاب، جہاں تصفیہ کے دن کا طالب علمی توازن معمول سے زیادہ ہے (آپریشن سیٹنگز کے ذریعہ بیان کیا گیا ہے)۔
  • خطے میں نیٹ ورک کو دیکھنے والے ہر ایک جواب دہندہ کے لیے غیر متزلزل ریجن-ٹی وی نیٹ ورک کے جوڑوں کے لیے درست شدہ طالب علم کی بقایا کی دوبارہ گنتی، نمونے سے اس جواب دہندہ کے دیکھنے کو چھوڑتے وقت اس جواب دہندہ کی شراکت (طلبہ شدہ بقایا میں تبدیلی کی مقدار) کا تعین کرتے ہوئے .
  • ایسے امیدواروں کی تلاش کریں جن کے اخراج سے تنخواہ کے طالب علم کے توازن کو معمول پر لایا جاتا ہے۔

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

کم کوڈ اور کیا کر سکتا ہے؟

اسکالا میں کوڈ کو دستی طور پر لکھنے کی ضرورت کے بغیر بیچ اور اسٹریم ڈیٹا پروسیسنگ کے لیے کم کوڈ والے ٹول کے اطلاق کی گنجائش یہیں ختم نہیں ہوتی۔

ڈیٹا لیک کی ترقی میں کم کوڈ کا استعمال ہمارے لیے پہلے ہی ایک معیار بن چکا ہے۔ ہم شاید کہہ سکتے ہیں کہ Hadoop اسٹیک پر مبنی حل RDBMS پر مبنی کلاسک DWHs کی ترقی کے راستے پر چلتے ہیں۔ ہڈوپ اسٹیک پر کم کوڈ والے ٹولز ڈیٹا پروسیسنگ کے کام اور حتمی BI انٹرفیس بنانے کے کام دونوں کو حل کر سکتے ہیں۔ مزید برآں، یہ واضح رہے کہ BI کا مطلب نہ صرف ڈیٹا کی نمائندگی، بلکہ کاروباری صارفین کے ذریعے ان کی ترمیم بھی ہو سکتا ہے۔ مالیاتی شعبے کے لیے تجزیاتی پلیٹ فارم بناتے وقت ہم اکثر اس فعالیت کو استعمال کرتے ہیں۔

تجزیاتی پلیٹ فارمز میں کم کوڈ کا اطلاق

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

تجزیاتی پلیٹ فارمز میں کم کوڈ کا اطلاق

ڈیٹا کوالٹی اور کم کوڈ

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

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

کم کوڈ والے ٹول کو انٹرپرائز آرکیٹیکٹ کے ساتھ جوڑ کر، درج ذیل چیک خود بخود تیار ہو گئے تھے۔

  • "not null" موڈیفائر کے ساتھ فیلڈز میں "null" اقدار کی موجودگی کی جانچ کرنا؛
  • بنیادی کلید کے ڈپلیکیٹس کی موجودگی کی جانچ کرنا؛
  • کسی ادارے کی غیر ملکی کلید کی جانچ کرنا؛
  • فیلڈز کے سیٹ پر مبنی سٹرنگ کی انفرادیت کی جانچ کرنا۔

ڈیٹا کی دستیابی اور وشوسنییتا کی مزید پیچیدہ جانچوں کے لیے، Scala Expression کے ساتھ ایک میپنگ بنائی گئی، جو Zeppelin کے تجزیہ کاروں کے ذریعہ تیار کردہ ایک بیرونی Spark SQL چیک کوڈ کو ان پٹ کے طور پر لیتا ہے۔

تجزیاتی پلیٹ فارمز میں کم کوڈ کا اطلاق

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

  • Zeppelin نوٹ بک میں لاگو DQ؛
  • ڈی کیو میپنگ میں بنایا گیا ہے۔
  • ڈی کیو علیحدہ بڑے پیمانے پر نقشہ جات کی شکل میں جس میں ایک علیحدہ ہستی کے لیے چیکوں کا پورا سیٹ ہوتا ہے۔
  • یونیورسل پیرامیٹرائزڈ ڈی کیو میپنگز جو میٹا ڈیٹا اور بزنس چیک کے بارے میں معلومات کو بطور ان پٹ قبول کرتی ہیں۔

شاید پیرامیٹرائزڈ چیک سروس بنانے کا سب سے بڑا فائدہ پیداواری ماحول میں فعالیت فراہم کرنے میں لگنے والے وقت میں کمی ہے۔ نئے معیار کی جانچیں ترقی اور جانچ کے ماحول کے ذریعے بالواسطہ طور پر کوڈ کی فراہمی کے کلاسک پیٹرن کو نظرانداز کر سکتی ہیں:

  • جب EA میں ماڈل میں ترمیم کی جاتی ہے تو تمام میٹا ڈیٹا چیک خود بخود تیار ہو جاتے ہیں۔
  • ڈیٹا کی دستیابی کی جانچ (وقت میں کسی بھی ڈیٹا کی موجودگی کا تعین کرنا) ایک ڈائریکٹری کی بنیاد پر تیار کیا جا سکتا ہے جو اشیاء کے تناظر میں ڈیٹا کے اگلے ٹکڑے کی ظاہری شکل کے متوقع وقت کو محفوظ کرتی ہے۔
  • کاروباری ڈیٹا کی توثیق کی جانچیں Zeppelin نوٹ بک میں تجزیہ کاروں کے ذریعے بنائی جاتی ہیں۔ وہاں سے وہ براہ راست پیداواری ماحول میں ڈی کیو ماڈیول سیٹ اپ ٹیبل پر بھیجے جاتے ہیں۔

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

خلاصہ یہ کہ ڈی کیو سروس مستقل طور پر پیداواری ماحول میں چل رہی ہے اور ڈیٹا کا اگلا حصہ ظاہر ہوتے ہی اپنا کام شروع کرنے کے لیے تیار ہے۔

اس کے بجائے کسی نتیجے کے

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

بلاشبہ، کم کوڈ ایک علاج نہیں ہے، اور جادو خود سے نہیں ہوگا:

  • کم کوڈ والی صنعت "مضبوط ہونے" کے مرحلے سے گزر رہی ہے، اور ابھی تک کوئی یکساں صنعتی معیار نہیں ہے۔
  • بہت سے کم کوڈ حل مفت نہیں ہوتے ہیں، اور انہیں خریدنا ایک شعوری قدم ہونا چاہیے، جو ان کے استعمال کے مالی فوائد پر مکمل اعتماد کے ساتھ کیا جانا چاہیے۔
  • بہت سے کم کوڈ حل ہمیشہ GIT/SVN کے ساتھ اچھا کام نہیں کرتے ہیں۔ یا اگر تیار کردہ کوڈ چھپا ہوا ہے تو وہ استعمال کرنے میں تکلیف نہیں ہیں۔
  • فن تعمیر کو بڑھاتے وقت، کم کوڈ حل کو بہتر کرنا ضروری ہوسکتا ہے - جو بدلے میں، کم کوڈ حل فراہم کرنے والے پر "منسلک اور انحصار" کے اثر کو بھڑکاتا ہے۔
  • سیکورٹی کی مناسب سطح ممکن ہے، لیکن یہ بہت محنت طلب اور کم کوڈ سسٹم انجنوں میں لاگو کرنا مشکل ہے۔ کم کوڈ والے پلیٹ فارم کا انتخاب نہ صرف ان کے استعمال سے فوائد حاصل کرنے کے اصول پر کیا جانا چاہیے۔ انتخاب کرتے وقت، رسائی کنٹرول کے لیے فعالیت کی دستیابی اور تنظیم کے پورے IT منظر نامے کی سطح تک شناختی ڈیٹا کی ڈیلی گیشن/بڑھانے کے بارے میں سوالات پوچھنے کے قابل ہے۔

تجزیاتی پلیٹ فارمز میں کم کوڈ کا اطلاق

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

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

اگر آپ کے پاس سخت ڈیڈ لائن، بھری ہوئی کاروباری منطق، تکنیکی مہارت کی کمی ہے، اور آپ کو مارکیٹ میں اپنا وقت تیز کرنے کی ضرورت ہے، تو کم کوڈ آپ کی ضروریات کو پورا کرنے کا ایک طریقہ ہے۔

روایتی ڈویلپمنٹ ٹولز کی اہمیت سے انکار نہیں کیا جا سکتا، لیکن بہت سے معاملات میں، حل کیے جانے والے کاموں کی کارکردگی کو بڑھانے کا کم کوڈ حل استعمال کرنا بہترین طریقہ ہے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں