Scala کا استعمال کرتے ہوئے ڈیٹا کا تجزیہ
ڈیٹا کے تجزیہ کے لیے صحیح ٹول کا انتخاب کرنا بہت ضروری ہے۔ Kaggle فورمز پر، جہاں بین الاقوامی ڈیٹا سائنس مقابلے منعقد ہوتے ہیں، لوگ اکثر پوچھتے ہیں کہ کون سا ٹول بہتر ہے۔ R اور Python فہرست میں سب سے اوپر ہیں۔ اس آرٹیکل میں ہم آپ کو اسکالا پر مبنی ڈیٹا انیلیسیس ٹیکنالوجیز کے متبادل اسٹیک کے بارے میں بتائیں گے۔
By رومن زیکوف۔بانی/ڈیٹا سائنسدان @ TopDataLab
ڈیٹا کے تجزیہ کے لیے صحیح ٹول کا انتخاب کرنا بہت ضروری ہے۔ پر Kaggle.com فورمز، جہاں بین الاقوامی ڈیٹا سائنس مقابلے منعقد ہوتے ہیں، لوگ اکثر پوچھتے ہیں کہ کون سا ٹول بہتر ہے۔ R اور Python فہرست میں سب سے اوپر ہیں۔ اس آرٹیکل میں ہم آپ کو اسکالا پروگرامنگ لینگویج پر مبنی ڈیٹا انیلیسیس ٹیکنالوجیز کے متبادل اسٹیک کے بارے میں بتائیں گے۔ چنگاری تقسیم شدہ کمپیوٹنگ پلیٹ فارم۔
ہم اس کے ساتھ کیسے آئے؟ ریٹیل راکٹ میں ہم بہت بڑے ڈیٹا سیٹس پر بہت ساری مشین لرننگ کرتے ہیں۔ ہم پروٹو ٹائپ تیار کرنے کے لیے IPython + Pyhs2 (Python کے لیے Hive ڈرائیور) + Pandas + Sklearn کا ایک گروپ استعمال کرتے تھے۔ موسم گرما 2014 کے آخر میں ہم نے Spark پر سوئچ کرنے کا ایک بنیادی فیصلہ کیا، جیسا کہ تجربات سے معلوم ہوا ہے کہ ہم سرورز کے اسی پارک پر کارکردگی میں 3-4 گنا بہتری حاصل کریں گے۔
ایک اور فائدہ یہ ہے کہ ہم ماڈلنگ اور کوڈ کے لیے ایک پروگرامنگ زبان استعمال کر سکتے ہیں جو پروڈکشن سرورز پر چلے گی۔ یہ ہمارے لیے بہت بڑا فائدہ تھا، کیونکہ اس سے پہلے ہم بیک وقت 4 زبانیں استعمال کر رہے تھے: Hive، Pig، Java، Python۔ انجینئرز کی ایک چھوٹی ٹیم کے لیے یہ ایک مسئلہ ہے۔
اسپارک APIs کے ذریعے Python/Scala/Java کے ساتھ اچھی طرح کام کرنے کی حمایت کرتا ہے۔ ہم نے Scala کو منتخب کرنے کا فیصلہ کیا کیونکہ یہ وہ زبان ہے جس میں Spark لکھی گئی ہے، جس کا مطلب ہے کہ ہم اس کے سورس کوڈ کا تجزیہ کر سکتے ہیں اور ضرورت پڑنے پر کیڑے ٹھیک کر سکتے ہیں۔ یہ جے وی ایم بھی ہے جس پر ہڈوپ چلتا ہے۔
مجھے یہ کہنا ضروری ہے کہ انتخاب آسان نہیں تھا، کیونکہ اس وقت ٹیم میں کوئی بھی اسکالا کو نہیں جانتا تھا۔
یہ ایک معروف حقیقت ہے کہ کسی زبان میں اچھی طرح بات چیت کرنا سیکھنے کے لیے، آپ کو اس زبان میں اپنے آپ کو غرق کرنے اور اسے زیادہ سے زیادہ استعمال کرنے کی ضرورت ہے۔ لہذا ہم نے ماڈلنگ اور تیز ڈیٹا تجزیہ کے لیے اسکالا کے حق میں ازگر کے اسٹیک کو ترک کر دیا۔
پہلا قدم IPython نوٹ بک کا متبادل تلاش کرنا تھا۔ اختیارات درج ذیل تھے:
- Zeppelin کی - اسپارک کے لیے ایک IPython جیسی نوٹ بک؛
- ISpark;
- چنگاری نوٹ بک؛
- IBM کی Spark IPython نوٹ بک۔
- اپاچی ٹیoree
اب تک انتخاب ISpark رہا ہے کیونکہ یہ آسان ہے - یہ Scala/Spark کے لیے IPython ہے۔ ہائی چارٹس اور آر گرافکس پر بولٹ کرنا نسبتاً آسان رہا ہے۔ اور ہمیں اسے یارن کلسٹر سے جوڑنے میں کوئی مسئلہ نہیں تھا۔
ٹاسک
آئیے اس سوال کا جواب دینے کی کوشش کرتے ہیں: کیا آپ کے آن لائن اسٹور میں خریداری کی اوسط رقم (AOV) مستحکم کسٹمر پیرامیٹرز پر منحصر ہے، جس میں سیٹلمنٹ، براؤزر کی قسم (موبائل/ڈیسک ٹاپ)، آپریٹنگ سسٹم اور براؤزر ورژن شامل ہیں؟ آپ اس کے ساتھ کر سکتے ہیں۔ باہمی معلومات.
ہم اپنے تجویز کردہ الگورتھم اور تجزیے کے لیے اینٹروپی کا بہت زیادہ استعمال کرتے ہیں: کلاسیکل شینن فارمولا، کل بیک-لیبلر ڈائیورجنس، باہمی معلومات۔ یہاں تک کہ ہم نے اس موضوع پر ایک مقالہ بھی پیش کیا۔ مشین لرننگ پر مرفی کی مشہور درسی کتاب میں ان اقدامات کے لیے ایک الگ، چھوٹا ہی سہی، حصہ ہے۔
آئیے اصلی ریٹیل راکٹ ڈیٹا پر اس کا تجزیہ کریں۔ اس سے پہلے میں نے نمونے کو اپنے کلسٹر سے اپنے کمپیوٹر پر csv فائل کے طور پر کاپی کیا تھا۔
ڈیٹا
یہاں ہم ISpark اور Spark کو لوکل موڈ میں چلاتے ہیں، جس کا مطلب ہے کہ تمام حسابات مقامی طور پر کیے جاتے ہیں اور پروسیسر کور میں تقسیم کیے جاتے ہیں۔ کوڈ کے تبصروں میں سب کچھ بیان کیا گیا ہے۔ سب سے اہم بات یہ ہے کہ آؤٹ پٹ میں ہمیں آر ڈی ڈی (اسپارک ڈیٹا سٹرکچر) ملتا ہے، جو کہ Row قسم کی کیس کلاسز کا مجموعہ ہے، جس کی کوڈ میں وضاحت کی گئی ہے۔ یہ آپ کو "." کے ذریعے فیلڈز کا حوالہ دینے کی اجازت دے گا، مثال کے طور پر _.categoryId۔
ماخذ: https://www.kdnuggets.com/2021/09/data-analysis-scala.html
- "
- &
- 100
- فائدہ
- یلگوردمز
- تمام
- ایمیزون
- کے درمیان
- تجزیہ
- اپاچی
- APIs
- ایپس
- مضمون
- بولٹ
- براؤزر
- کیڑوں
- تعمیر
- گچرچھا
- تبدیل
- چارٹس
- کوڈ
- تبصروں
- مقابلے
- کمپیوٹنگ
- اعداد و شمار
- ڈیٹا تجزیہ
- ڈیٹا سائنس
- ڈیٹا سائنسدان
- معاملہ
- گہری سیکھنے
- ترقی
- DID
- تقسیم کمپیوٹنگ
- ڈرائیور
- انجنیئرنگ
- انجینئرز
- وغیرہ
- ایکسل
- تجربہ
- تجربہ
- کی تلاش
- چہرہ
- خاندان
- فاسٹ
- خصوصیات
- قطعات
- پہلا
- درست کریں
- بانی
- فریم ورک
- GitHub کے
- حدووپ
- یہاں
- چھتہ
- کس طرح
- کیسے
- HTTPS
- بھاری
- معلومات
- انٹرایکٹو
- بین الاقوامی سطح پر
- IT
- اعلی درجے کا Java
- زبان
- زبانیں
- بڑے
- جانیں
- سیکھنے
- لائبریری
- لائن
- لنکڈ
- لسٹ
- مقامی
- مقامی طور پر
- لانگ
- مشین لرننگ
- مشینیں
- ریاضی
- پیمائش کا معیار
- مائیکروسافٹ
- ماڈلنگ
- سب سے زیادہ مقبول
- نوٹ بک
- آن لائن
- آن لائن سٹور
- کھول
- اوپن سورس
- کام
- آپریٹنگ سسٹم
- آپشنز کے بھی
- حکم
- دیگر
- کاغذ.
- لوگ
- کارکردگی
- نقطہ نظر
- طبعیات
- پلیٹ فارم
- مقبول
- پورٹ فولیو
- پیداوار
- پروگرامنگ
- منصوبے
- خرید
- ازگر
- خوردہ
- رن
- چل رہا ہے
- بڑے پیمانے پر
- سائنس
- سائنسدانوں
- مقرر
- تصفیہ
- سادہ
- سائز
- مہارت
- چھوٹے
- So
- سافٹ ویئر کی
- خلا
- ذخیرہ
- خبریں
- جمع کرائی
- موسم گرما
- تائید
- کی حمایت کرتا ہے
- سوئچ کریں
- کے نظام
- ٹیکنالوجی
- ٹیسٹنگ
- گراف
- وقت
- سب سے اوپر
- اتحاد
- URI
- us
- قیمت
- ویب
- وکیپیڈیا
- کھڑکیاں
- کام
- X
- سال
- صفر