AWS گلو اسٹوڈیو ایک گرافیکل انٹرفیس ہے جو اس میں ایکسٹریکٹ، ٹرانسفارم، اور لوڈ (ETL) جابز بنانا، چلانا اور مانیٹر کرنا آسان بناتا ہے۔ AWS گلو. یہ آپ کو نوڈس کا استعمال کرتے ہوئے ڈیٹا ٹرانسفارمیشن ورک فلوز کو بصری طور پر تحریر کرنے کی اجازت دیتا ہے جو ڈیٹا ہینڈلنگ کے مختلف مراحل کی نمائندگی کرتے ہیں، جو بعد میں چلانے کے لیے خود بخود کوڈ میں تبدیل ہو جاتے ہیں۔
AWS گلو اسٹوڈیو حال ہی میں جاری کوڈنگ کی مہارت کے بغیر بصری انداز میں مزید جدید ملازمتیں تخلیق کرنے کی اجازت دینے کے لیے 10 مزید بصری تبدیلیاں۔ اس پوسٹ میں، ہم ممکنہ استعمال کے معاملات پر تبادلہ خیال کرتے ہیں جو عام ETL ضروریات کی عکاسی کرتے ہیں۔
اس پوسٹ میں جو نئی تبدیلیاں دکھائی جائیں گی وہ یہ ہیں: کنکٹینٹ، اسپلٹ سٹرنگ، ارے ٹو کالم، موجودہ ٹائم اسٹیمپ شامل کریں، کالموں میں محور قطار، قطاروں میں کالموں کو ان پیوٹ کریں، تلاش کریں، ایکسپلوڈ اری یا کالموں میں نقشہ کریں، اخذ کردہ کالم، اور آٹو بیلنس پروسیسنگ۔ .
حل جائزہ
اس استعمال کے معاملے میں، ہمارے پاس اسٹاک آپشن آپریشنز کے ساتھ کچھ JSON فائلیں ہیں۔ ہم ڈیٹا کو ذخیرہ کرنے سے پہلے کچھ تبدیلیاں کرنا چاہتے ہیں تاکہ تجزیہ کرنا آسان ہو، اور ہم ایک علیحدہ ڈیٹا سیٹ کا خلاصہ بھی تیار کرنا چاہتے ہیں۔
اس ڈیٹاسیٹ میں، ہر قطار آپشن معاہدوں کی تجارت کی نمائندگی کرتی ہے۔ اختیارات ایسے مالیاتی آلات ہیں جو ایک مقررہ قیمت پر اسٹاک کے حصص خریدنے یا بیچنے کا حق فراہم کرتے ہیں — لیکن ذمہ داری نہیں — سٹرائیک پرائس) ایک مقررہ میعاد ختم ہونے کی تاریخ سے پہلے۔
ان پٹ ڈیٹا
ڈیٹا مندرجہ ذیل اسکیما پر عمل کرتا ہے:
- آرڈر کی شناخت - ایک منفرد ID
- علامت - ایک کوڈ عام طور پر کارپوریشن کی شناخت کے لیے چند حروف پر مبنی ہے جو بنیادی اسٹاک کے حصص کو خارج کرتا ہے۔
- آلہ - وہ نام جو خریدے یا بیچے جانے والے مخصوص آپشن کی نشاندہی کرتا ہے۔
- کرنسی - ISO کرنسی کوڈ جس میں قیمت کا اظہار کیا جاتا ہے۔
- قیمت - وہ رقم جو ہر آپشن کنٹریکٹ کی خریداری کے لیے ادا کی گئی تھی (زیادہ تر ایکسچینجز پر، ایک معاہدہ آپ کو 100 اسٹاک شیئرز خریدنے یا بیچنے کی اجازت دیتا ہے)
- ایکسچینج - ایکسچینج سینٹر یا مقام کا کوڈ جہاں آپشن کی تجارت کی گئی تھی۔
- فروخت - معاہدوں کی تعداد کی ایک فہرست جو فروخت کے آرڈر کو پُر کرنے کے لیے مختص کیے گئے ہیں جب یہ فروخت کی تجارت ہو۔
- خریدا - معاہدوں کی تعداد کی ایک فہرست جہاں خرید آرڈر کو بھرنے کے لیے مختص کیا جاتا ہے جب یہ خرید تجارت ہو۔
ذیل میں اس پوسٹ کے لیے تیار کردہ مصنوعی ڈیٹا کا نمونہ ہے۔
ای ٹی ایل کی ضروریات
اس ڈیٹا میں متعدد منفرد خصوصیات ہیں، جیسا کہ اکثر پرانے سسٹمز پر پائی جاتی ہیں، جو ڈیٹا کو استعمال کرنا مشکل بنا دیتی ہیں۔
ای ٹی ایل کے تقاضے درج ذیل ہیں:
- آلے کے نام میں قیمتی معلومات ہیں جو انسانوں کے سمجھنے کے لیے ہیں؛ ہم آسان تجزیہ کے لیے اسے علیحدہ کالموں میں معمول بنانا چاہتے ہیں۔
- صفات
bought
اورsold
باہمی طور پر خصوصی ہیں؛ ہم ان کو کنٹریکٹ نمبرز کے ساتھ ایک کالم میں اکٹھا کر سکتے ہیں اور ایک اور کالم رکھ سکتے ہیں جس میں یہ بتایا جائے کہ آیا اس آرڈر میں معاہدے کہاں خریدے یا بیچے گئے ہیں۔ - ہم انفرادی کنٹریکٹ ایلوکیشن کے بارے میں معلومات رکھنا چاہتے ہیں لیکن صارفین کو نمبروں کی ایک صف سے نمٹنے کے لیے مجبور کرنے کے بجائے انفرادی قطار کے طور پر۔ ہم نمبرز کو شامل کر سکتے ہیں، لیکن ہم اس بارے میں معلومات کھو دیں گے کہ آرڈر کیسے بھرا گیا (مارکیٹ کی لیکویڈیٹی کی نشاندہی کرتا ہے)۔ اس کے بجائے، ہم جدول کو غیر معمولی کرنے کا انتخاب کرتے ہیں تاکہ ہر قطار میں متعدد نمبروں کے ساتھ آرڈرز کو الگ الگ قطاروں میں تقسیم کرتے ہوئے، معاہدے کی ایک ہی تعداد ہو۔ کمپریسڈ کالم فارمیٹ میں، جب کمپریشن لاگو کیا جاتا ہے تو اس تکرار کا اضافی ڈیٹاسیٹ سائز اکثر چھوٹا ہوتا ہے، اس لیے ڈیٹاسیٹ کو استفسار کرنا آسان بنانا قابل قبول ہے۔
- ہم ہر اسٹاک کے لیے ہر آپشن کی قسم (کال اور پوٹ) کے لیے حجم کا ایک خلاصہ جدول تیار کرنا چاہتے ہیں۔ یہ ہر اسٹاک اور مارکیٹ کے عمومی طور پر (لالچ بمقابلہ خوف) کے لیے مارکیٹ کے جذبات کا اشارہ فراہم کرتا ہے۔
- مجموعی تجارتی خلاصوں کو فعال کرنے کے لیے، ہم ہر آپریشن کے لیے مجموعی طور پر مجموعی رقم فراہم کرنا چاہتے ہیں اور ایک تخمینی تبادلوں کا حوالہ استعمال کرتے ہوئے کرنسی کو امریکی ڈالر میں معیاری بنانا چاہتے ہیں۔
- ہم اس تاریخ کو شامل کرنا چاہتے ہیں جب یہ تبدیلیاں ہوئیں۔ یہ مفید ہو سکتا ہے، مثال کے طور پر، کرنسی کی تبدیلی کب ہوئی اس کے حوالے سے۔
ان ضروریات کی بنیاد پر، کام دو نتائج پیدا کرے گا:
- ہر علامت اور قسم کے معاہدوں کی تعداد کے خلاصے کے ساتھ ایک CSV فائل
- اشارہ کردہ تبدیلیاں کرنے کے بعد آرڈر کی تاریخ رکھنے کے لیے ایک کیٹلاگ ٹیبل
شرائط
اس استعمال کے کیس کے ساتھ پیروی کرنے کے لیے آپ کو اپنی S3 بالٹی کی ضرورت ہوگی۔ ایک نئی بالٹی بنانے کے لیے رجوع کریں۔ ایک بالٹی بنانا.
مصنوعی ڈیٹا تیار کریں۔
اس پوسٹ کے ساتھ پیروی کرنے کے لیے (یا اس قسم کے ڈیٹا کے ساتھ خود تجربہ کریں)، آپ اس ڈیٹاسیٹ کو مصنوعی طور پر تیار کر سکتے ہیں۔ مندرجہ ذیل Python اسکرپٹ کو Python ماحول پر Boto3 انسٹال اور رسائی کے ساتھ چلایا جا سکتا ہے۔ ایمیزون سادہ اسٹوریج سروس (ایمیزون S3)۔
ڈیٹا بنانے کے لیے، درج ذیل مراحل کو مکمل کریں:
- AWS Glue Studio پر، آپشن کے ساتھ ایک نئی جاب بنائیں ازگر شیل اسکرپٹ ایڈیٹر.
- کام کو ایک نام دیں اور اس پر ملازمت کی تفصیلات ٹیب، منتخب کریں a مناسب کردار اور ازگر اسکرپٹ کا نام۔
- میں ملازمت کی تفصیلات سیکشن، توسیع اعلی درجے کی خصوصیات اور نیچے سکرال کریں ملازمت کے پیرامیٹرز.
- نام کا پیرامیٹر درج کریں۔
--bucket
اور اس بالٹی کے نام کو قدر کے طور پر تفویض کریں جسے آپ نمونے کے ڈیٹا کو ذخیرہ کرنے کے لیے استعمال کرنا چاہتے ہیں۔ - AWS Glue شیل ایڈیٹر میں درج ذیل اسکرپٹ درج کریں:
- کام کو چلائیں اور انتظار کریں جب تک کہ یہ رنز ٹیب پر کامیابی کے ساتھ مکمل نہ ہو جائے (اس میں صرف چند سیکنڈ لگیں گے)۔
ہر رن ایک JSON فائل تیار کرے گا جس میں مخصوص بالٹی اور سابقہ کے نیچے 1,000 قطاریں ہوں گی۔ transformsblog/inputdata/
. اگر آپ مزید ان پٹ فائلوں کے ساتھ ٹیسٹ کرنا چاہتے ہیں تو آپ کئی بار جاب چلا سکتے ہیں۔
مصنوعی ڈیٹا میں ہر لائن ایک ڈیٹا قطار ہے جو مندرجہ ذیل کی طرح JSON آبجیکٹ کی نمائندگی کرتی ہے۔
AWS Glue بصری جاب بنائیں
AWS Glue بصری جاب بنانے کے لیے، درج ذیل مراحل کو مکمل کریں:
- AWS Glue Studio پر جائیں اور آپشن کا استعمال کرتے ہوئے نوکری بنائیں خالی کینوس کے ساتھ بصری.
- ترمیم کریں
Untitled job
اسے ایک نام دینے اور تفویض کرنے کے لیے AWS گلو کے لیے موزوں کردار پر ملازمت کی تفصیلات ٹیب. - ایک S3 ڈیٹا ماخذ شامل کریں (آپ اسے نام دے سکتے ہیں۔
JSON files source
) اور S3 URL درج کریں جس کے تحت فائلیں محفوظ ہیں (مثال کے طور پر،s3://<your bucket name>/transformsblog/inputdata/
)، پھر منتخب کریں۔ JSON ڈیٹا فارمیٹ کے طور پر۔ - منتخب کریں اسکیما کا اندازہ لگائیں۔ لہذا یہ ڈیٹا کی بنیاد پر آؤٹ پٹ اسکیما سیٹ کرتا ہے۔
اس سورس نوڈ سے، آپ چیننگ ٹرانسفارمز کو جاری رکھیں گے۔ ہر ٹرانسفارم کو شامل کرتے وقت، اس بات کو یقینی بنائیں کہ منتخب کردہ نوڈ آخری شامل کیا گیا ہے تاکہ اسے والدین کے طور پر تفویض کیا جائے، جب تک کہ ہدایات میں دوسری صورت میں اشارہ نہ کیا جائے۔
اگر آپ نے صحیح والدین کا انتخاب نہیں کیا ہے، تو آپ ہمیشہ والدین کو منتخب کرکے اور کنفیگریشن پین میں کسی دوسرے والدین کو منتخب کرکے ترمیم کرسکتے ہیں۔
شامل کیے گئے ہر نوڈ کے لیے، آپ اسے ایک مخصوص نام دیں گے (لہذا نوڈ کا مقصد گراف میں ظاہر ہوتا ہے) اور کنفیگریشن تبدیل ٹیب.
ہر بار جب ٹرانسفارم اسکیما کو تبدیل کرتا ہے (مثال کے طور پر، ایک نیا کالم شامل کریں)، آؤٹ پٹ اسکیما کو اپ ڈیٹ کرنے کی ضرورت ہے تاکہ یہ نیچے کی طرف آنے والی تبدیلیوں کو نظر آئے۔ آپ آؤٹ پٹ اسکیما میں دستی طور پر ترمیم کر سکتے ہیں، لیکن ڈیٹا پیش نظارہ کا استعمال کرتے ہوئے اسے کرنا زیادہ عملی اور محفوظ ہے۔
مزید برآں، اس طرح سے آپ تصدیق کر سکتے ہیں کہ تبدیلی اب تک کام کر رہی ہے جیسا کہ توقع ہے۔ ایسا کرنے کے لیے، کھولیں۔ ڈیٹا کا پیش نظارہ منتخب کردہ ٹرانسفارم کے ساتھ ٹیب اور پیش نظارہ سیشن شروع کریں۔ آپ کے تصدیق کرنے کے بعد تبدیل شدہ ڈیٹا توقع کے مطابق نظر آتا ہے، پر جائیں۔ آؤٹ پٹ سکیما ٹیب اور منتخب کریں ڈیٹا پیش نظارہ اسکیما استعمال کریں۔ اسکیما کو خود بخود اپ ڈیٹ کرنے کے لیے۔
جیسا کہ آپ نئی قسم کی تبدیلیاں شامل کرتے ہیں، پیش نظارہ گمشدہ انحصار کے بارے میں پیغام دکھا سکتا ہے۔ جب ایسا ہوتا ہے، منتخب کریں سیشن ختم کریں۔ اور ایک نیا شروع کریں، تو پیش نظارہ نئے قسم کے نوڈ کو چنتا ہے۔
آلہ کی معلومات نکالیں۔
آئیے انسٹرومنٹ کے نام پر موجود معلومات کو کالموں میں معمول پر لانے کے لیے ڈیل کرکے شروع کرتے ہیں جن تک رسائی کے نتیجے میں آؤٹ پٹ ٹیبل میں آسان ہے۔
- ایک شامل کریں اسپلٹ سٹرنگ نوڈ اور اس کا نام
Split instrument
، جو وائٹ اسپیس ریجیکس کا استعمال کرتے ہوئے آلے کے کالم کو ٹوکنائز کرے گا:s+
(اس معاملے میں ایک ہی جگہ کام کرے گی، لیکن یہ طریقہ زیادہ لچکدار اور بصری طور پر واضح ہے)۔ - ہم اصل آلے کی معلومات کو اسی طرح رکھنا چاہتے ہیں، لہذا اسپلٹ اری کے لیے ایک نیا کالم کا نام درج کریں:
instrument_arr
. - ایک شامل کریں کالم تک صف نوڈ اور اس کا نام
Instrument columns
سرنی کالم کو نئے فیلڈز میں تبدیل کرنے کے لیے، سوائے اس کےsymbol
جس کے لیے ہمارے پاس پہلے سے ہی ایک کالم موجود ہے۔ - کالم منتخب کریں۔
instrument_arr
، پہلا ٹوکن چھوڑ دیں اور اسے آؤٹ پٹ کالم نکالنے کو کہیں۔month, day, year, strike_price, type
اشاریہ جات کا استعمال کرتے ہوئے2, 3, 4, 5, 6
(کوما کے بعد خالی جگہیں پڑھنے کے قابل ہیں، وہ ترتیب کو متاثر نہیں کرتے ہیں)۔
نکالا گیا سال صرف دو ہندسوں سے ظاہر ہوتا ہے۔ اگر وہ صرف دو ہندسوں کا استعمال کرتے ہیں تو آئیے ایک سٹاپ گیپ رکھیں کہ یہ اس صدی میں ہے۔
- ایک شامل کریں اخذ کردہ کالم نوڈ اور اس کا نام
Four digits year
. - درج
year
مشتق کالم کے طور پر تو یہ اسے اوور رائیڈ کرتا ہے، اور درج ذیل ایس کیو ایل اظہار درج کریں:CASE WHEN length(year) = 2 THEN ('20' || year) ELSE year END
سہولت کے لیے، ہم ایک بناتے ہیں۔ expiration_date
وہ فیلڈ جو صارف کے پاس آخری تاریخ کے حوالے کے طور پر ہو سکتا ہے آپشن استعمال کیا جا سکتا ہے۔
- ایک شامل کریں مربوط کالم نوڈ اور اس کا نام
Build expiration date
. - نئے کالم کا نام بتائیں
expiration_date
، کالم منتخب کریں۔year
,month
، اورday
(اس ترتیب میں)، اور اسپیسر کے طور پر ایک ہائفن۔
اب تک کا خاکہ مندرجہ ذیل مثال کی طرح نظر آنا چاہیے۔
اب تک کے نئے کالموں کا ڈیٹا پیش نظارہ درج ذیل اسکرین شاٹ کی طرح نظر آنا چاہیے۔
معاہدوں کی تعداد کو معمول بنائیں
اعداد و شمار میں ہر ایک قطار ہر آپشن کے معاہدوں کی تعداد کی نشاندہی کرتی ہے جو خریدے یا بیچے گئے تھے اور بیچز جن پر آرڈرز بھرے گئے تھے۔ انفرادی بیچوں کے بارے میں معلومات کو کھونے کے بغیر، ہم ہر ایک رقم کو انفرادی قطار میں ایک رقم کی قدر کے ساتھ رکھنا چاہتے ہیں، جب کہ باقی معلومات کو تیار کردہ ہر قطار میں نقل کیا جاتا ہے۔
پہلے، آئیے رقم کو ایک کالم میں ضم کرتے ہیں۔
- ایک شامل کریں کالموں کو قطاروں میں کھولیں۔ نوڈ اور اس کا نام
Unpivot actions
. - کالم منتخب کریں۔
bought
اورsold
ناموں اور قدروں کو ناموں کے کالموں میں ان پیوٹ اور اسٹور کرنے کے لیےaction
اورcontracts
بالترتیب.
پیش نظارہ میں نوٹس کریں کہ نیا کالمcontracts
اس تبدیلی کے بعد بھی اعداد کی ایک صف ہے۔
- ایک شامل کریں قطاروں میں صف یا نقشہ کو پھٹائیں۔ نام کی قطار
Explode contracts
. - منتخب کیجئیے
contracts
کالم اور درج کریں۔contracts
اسے اوور رائڈ کرنے کے لیے نئے کالم کے طور پر (ہمیں اصل صف رکھنے کی ضرورت نہیں ہے)۔
پیش نظارہ اب ظاہر کرتا ہے کہ ہر قطار میں ایک واحد ہے۔ contracts
رقم، اور باقی فیلڈز ایک جیسے ہیں۔
اس کا مطلب یہ بھی ہے۔ order_id
اب کوئی منفرد کلید نہیں ہے۔ آپ کے اپنے استعمال کے معاملات کے لیے، آپ کو یہ فیصلہ کرنے کی ضرورت ہے کہ اپنے ڈیٹا کو کیسے ماڈل بنانا ہے اور اگر آپ غیر معمولی بنانا چاہتے ہیں یا نہیں۔
مندرجہ ذیل اسکرین شاٹ اس بات کی ایک مثال ہے کہ اب تک کی تبدیلیوں کے بعد نئے کالم کیسا نظر آتا ہے۔
خلاصہ ٹیبل بنائیں
اب آپ ایک سمری ٹیبل بناتے ہیں جس میں ہر قسم کے معاہدوں کی تعداد اور ہر اسٹاک کی علامت کے لیے تجارت کی جاتی ہے۔
آئیے مثال کے مقاصد کے لیے فرض کریں کہ پروسیس شدہ فائلز کا تعلق ایک دن سے ہے، اس لیے یہ خلاصہ کاروباری صارفین کو معلومات فراہم کرتا ہے کہ اس دن مارکیٹ کی دلچسپی اور جذبات کیا ہیں۔
- ایک شامل کریں قطعات منتخب کریں نوڈ اور سمری کے لیے رکھنے کے لیے درج ذیل کالموں کو منتخب کریں:
symbol
,type
، اورcontracts
. - ایک شامل کریں قطاروں کو کالموں میں محور کریں۔ نوڈ اور اس کا نام
Pivot summary
. - پر مجموعی
contracts
کالم کا استعمال کرتے ہوئےsum
اور تبدیل کرنے کا انتخاب کریں۔type
کالم.
عام طور پر، آپ اسے کسی بیرونی ڈیٹا بیس یا فائل میں حوالہ کے لیے محفوظ کریں گے۔ اس مثال میں، ہم اسے Amazon S3 پر CSV فائل کے طور پر محفوظ کرتے ہیں۔
- ایک شامل کریں آٹو بیلنس پروسیسنگ نوڈ اور اس کا نام
Single output file
. - اگرچہ اس ٹرانسفارم قسم کو عام طور پر متوازی کو بہتر بنانے کے لیے استعمال کیا جاتا ہے، یہاں ہم اسے ایک فائل میں آؤٹ پٹ کو کم کرنے کے لیے استعمال کرتے ہیں۔ لہذا، درج کریں
1
پارٹیشن کی ترتیب کی تعداد میں۔ - ایک S3 ہدف شامل کریں اور اسے نام دیں۔
CSV Contract summary
. - ڈیٹا فارمیٹ کے طور پر CSV کا انتخاب کریں اور ایک S3 راستہ داخل کریں جہاں کام کے کردار کو فائلز کو ذخیرہ کرنے کی اجازت ہو۔
کام کا آخری حصہ اب درج ذیل مثال کی طرح نظر آنا چاہیے۔
- کام کو بچائیں اور چلائیں۔ کا استعمال کرتے ہیں رنز ٹیب کو چیک کرنے کے لیے جب یہ کامیابی سے ختم ہو گیا ہے۔
آپ کو اس راستے کے نیچے ایک فائل ملے گی جو کہ ایک CSV ہے، اس توسیع کے نہ ہونے کے باوجود۔ اسے کھولنے کے لیے آپ کو شاید اسے ڈاؤن لوڈ کرنے کے بعد ایکسٹینشن شامل کرنے کی ضرورت ہوگی۔
ایک ٹول پر جو CSV کو پڑھ سکتا ہے، خلاصہ مندرجہ ذیل مثال کی طرح نظر آنا چاہیے۔
عارضی کالموں کو صاف کریں۔
مستقبل کے تجزیے کے لیے آرڈرز کو تاریخی جدول میں محفوظ کرنے کی تیاری میں، آئیے راستے میں بنائے گئے کچھ عارضی کالموں کو صاف کرتے ہیں۔
- ایک شامل کریں ڈراپ فیلڈز کے ساتھ نوڈ
Explode contracts
نوڈ کو اس کے والدین کے طور پر منتخب کیا گیا ہے (ہم علیحدہ آؤٹ پٹ پیدا کرنے کے لیے ڈیٹا پائپ لائن کو برانچ کر رہے ہیں)۔ - چھوڑنے کے لیے فیلڈز کو منتخب کریں:
instrument_arr
,month
,day
، اورyear
.
باقی ہم رکھنا چاہتے ہیں تاکہ وہ تاریخی جدول میں محفوظ ہو جائیں جسے ہم بعد میں بنائیں گے۔
کرنسی کی معیاری کاری
یہ مصنوعی ڈیٹا دو کرنسیوں پر فرضی کارروائیوں پر مشتمل ہے، لیکن ایک حقیقی نظام میں آپ پوری دنیا کی مارکیٹوں سے کرنسیاں حاصل کر سکتے ہیں۔ ایک واحد حوالہ کرنسی میں ہینڈل کی جانے والی کرنسیوں کو معیاری بنانا مفید ہے تاکہ رپورٹنگ اور تجزیہ کے لیے ان کا آسانی سے موازنہ اور جمع کیا جا سکے۔
ہم استعمال کرتے ہیں ایمیزون ایتینا تخمینی کرنسی کے تبادلوں کے ساتھ ایک جدول کی تقلید کرنے کے لیے جو وقتاً فوقتاً اپ ڈیٹ ہوتا رہتا ہے (یہاں ہم فرض کرتے ہیں کہ ہم آرڈرز پر بروقت کارروائی کرتے ہیں کہ تبادلوں کا موازنہ مقاصد کے لیے ایک معقول نمائندہ ہے)۔
- اسی علاقے میں ایتھینا کنسول کھولیں جہاں آپ AWS Glue استعمال کر رہے ہیں۔
- S3 مقام متعین کر کے جدول بنانے کے لیے درج ذیل استفسار کو چلائیں جہاں آپ کے Athena اور AWS Glue دونوں کردار پڑھ اور لکھ سکیں۔ اس کے علاوہ، آپ ٹیبل کو اس سے مختلف ڈیٹا بیس میں اسٹور کرنا چاہتے ہیں۔
default
(اگر آپ ایسا کرتے ہیں تو، فراہم کردہ مثالوں کے مطابق ٹیبل کوالیفائیڈ نام کو اپ ڈیٹ کریں)۔ - جدول میں چند نمونے کے تبادلوں کو درج کریں:
INSERT INTO default.exchange_rates VALUES ('usd', 1.0), ('eur', 1.09), ('gbp', 1.24);
- اب آپ کو درج ذیل استفسار کے ساتھ ٹیبل دیکھنے کے قابل ہونا چاہئے:
SELECT * FROM default.exchange_rates
- AWS Glue بصری کام پر واپس، ایک شامل کریں۔ اوپر دیکھو نوڈ (کے بچے کے طور پر
Drop Fields
) اور اسے نام دیں۔Exchange rate
. - اس ٹیبل کا کوالیٹیڈ نام درج کریں جو آپ نے ابھی بنایا ہے، استعمال کر کے
currency
کلید کے طور پر اور منتخب کریں۔exchange_rate
استعمال کرنے کے لیے فیلڈ۔
چونکہ ڈیٹا اور تلاش کی میز دونوں میں فیلڈ کا نام ایک ہی ہے، ہم صرف نام درج کر سکتے ہیں۔currency
اور میپنگ کی وضاحت کرنے کی ضرورت نہیں ہے۔
اس تحریر کے وقت، ڈیٹا کے پیش نظارہ میں لوک اپ ٹرانسفارم تعاون یافتہ نہیں ہے اور یہ ایک غلطی دکھائے گا کہ ٹیبل موجود نہیں ہے۔ یہ صرف ڈیٹا کے پیش نظارہ کے لیے ہے اور کام کو صحیح طریقے سے چلنے سے نہیں روکتا۔ پوسٹ کے چند باقی مراحل کے لیے آپ کو اسکیما کو اپ ڈیٹ کرنے کی ضرورت نہیں ہے۔ اگر آپ کو دوسرے نوڈس پر ڈیٹا کا پیش نظارہ چلانے کی ضرورت ہے، تو آپ لوک اپ نوڈ کو عارضی طور پر ہٹا سکتے ہیں اور پھر اسے واپس رکھ سکتے ہیں۔ - ایک شامل کریں اخذ کردہ کالم نوڈ اور اس کا نام
Total in usd
. - اخذ کردہ کالم کا نام دیں۔
total_usd
اور درج ذیل SQL اظہار کا استعمال کریں:round(contracts * price * exchange_rate, 2)
- ایک شامل کریں موجودہ ٹائم اسٹیمپ شامل کریں۔ نوڈ اور کالم کا نام دیں۔
ingest_date
. - فارمیٹ استعمال کریں۔
%Y-%m-%d
آپ کے ٹائم اسٹیمپ کے لیے (مظاہرے کے مقاصد کے لیے، ہم صرف تاریخ استعمال کر رہے ہیں؛ اگر آپ چاہیں تو آپ اسے مزید درست بنا سکتے ہیں)۔
تاریخی آرڈر ٹیبل کو محفوظ کریں۔
تاریخی آرڈر ٹیبل کو محفوظ کرنے کے لیے، درج ذیل مراحل کو مکمل کریں:
- ایک S3 ہدف نوڈ شامل کریں اور اسے نام دیں۔
Orders table
. - پارکیٹ فارمیٹ کو تیز کمپریشن کے ساتھ ترتیب دیں، اور S3 ٹارگٹ پاتھ فراہم کریں جس کے تحت نتائج کو اسٹور کیا جائے (خلاصہ سے الگ)۔
- منتخب کریں ڈیٹا کیٹلاگ میں ایک ٹیبل بنائیں اور اس کے بعد چلنے پر، اسکیما کو اپ ڈیٹ کریں اور نئے پارٹیشنز شامل کریں۔.
- ٹارگٹ ڈیٹا بیس اور نئے ٹیبل کے لیے ایک نام درج کریں، مثال کے طور پر:
option_orders
.
خاکہ کا آخری حصہ اب مندرجہ ذیل جیسا نظر آنا چاہیے، جس میں دو الگ الگ آؤٹ پٹ کے لیے دو شاخیں ہیں۔
کام کو کامیابی سے چلانے کے بعد، آپ ایتھینا جیسے ٹول کا استعمال کر کے نئے ٹیبل سے استفسار کر کے جاب کے تیار کردہ ڈیٹا کا جائزہ لے سکتے ہیں۔ آپ ایتھینا کی فہرست میں ٹیبل تلاش کرسکتے ہیں اور منتخب کرسکتے ہیں۔ پیش نظارہ ٹیبل یا صرف ایک SELECT استفسار چلائیں (ٹیبل کے نام کو آپ کے استعمال کردہ نام اور کیٹلاگ میں اپ ڈیٹ کرنا):
SELECT * FROM default.option_orders limit 10
آپ کے ٹیبل کا مواد درج ذیل اسکرین شاٹ سے ملتا جلتا نظر آنا چاہیے۔
صاف کرو
اگر آپ اس مثال کو برقرار نہیں رکھنا چاہتے ہیں تو، آپ کی تخلیق کردہ دو ملازمتیں، ایتھینا میں دو میزیں، اور S3 راستے کو حذف کریں جہاں ان پٹ اور آؤٹ پٹ فائلیں محفوظ تھیں۔
نتیجہ
اس پوسٹ میں، ہم نے دکھایا کہ کس طرح AWS Glue Studio میں نئی تبدیلیاں آپ کو کم سے کم کنفیگریشن کے ساتھ مزید جدید تبدیلی کرنے میں مدد کر سکتی ہیں۔ اس کا مطلب ہے کہ آپ کسی بھی کوڈ کو لکھنے اور برقرار رکھنے کے بغیر مزید ETL استعمال شدہ کیسز کو لاگو کر سکتے ہیں۔ نئی تبدیلیاں AWS Glue Studio پر پہلے سے ہی دستیاب ہیں، لہذا آپ آج نئی تبدیلیوں کو اپنی بصری ملازمتوں میں استعمال کر سکتے ہیں۔
مصنف کے بارے میں
گونزالو ہیریروس AWS Glue ٹیم میں ایک سینئر بگ ڈیٹا آرکیٹیکٹ ہے۔
- SEO سے چلنے والا مواد اور PR کی تقسیم۔ آج ہی بڑھا دیں۔
- پلیٹوآئ اسٹریم۔ ویب 3 ڈیٹا انٹیلی جنس۔ علم میں اضافہ۔ یہاں تک رسائی حاصل کریں۔
- ایڈریین ایشلے کے ساتھ مستقبل کا نقشہ بنانا۔ یہاں تک رسائی حاصل کریں۔
- PREIPO® کے ساتھ PRE-IPO کمپنیوں میں حصص خریدیں اور بیچیں۔ یہاں تک رسائی حاصل کریں۔
- ماخذ: https://aws.amazon.com/blogs/big-data/ten-new-visual-transforms-in-aws-glue-studio/
- : ہے
- : ہے
- : نہیں
- :کہاں
- $UP
- 000
- 1
- 10
- 100
- 102
- 11
- 12
- 13
- 14
- 15٪
- 20
- 23
- 24
- 26
- 28
- 30
- 49
- 67
- 7
- 8
- 9
- 937
- 98
- a
- قابلیت
- ہمارے بارے میں
- قابل قبول
- تک رسائی حاصل
- اس کے مطابق
- شامل کریں
- شامل کیا
- انہوں نے مزید کہا
- اعلی درجے کی
- کے بعد
- تمام
- مختص
- تین ہلاک
- کی اجازت
- کی اجازت دیتا ہے
- ساتھ
- پہلے ہی
- بھی
- ہمیشہ
- ایمیزون
- رقم
- مقدار
- an
- تجزیہ
- تجزیے
- اور
- ایک اور
- کوئی بھی
- اطلاقی
- تخمینہ
- اپریل
- کیا
- دلیل
- لڑی
- AS
- تفویض
- At
- اوصاف
- خود کار طریقے سے
- دستیاب
- AWS
- AWS گلو
- واپس
- کی بنیاد پر
- BE
- اس سے پہلے
- کیا جا رہا ہے
- بگ
- بگ ڈیٹا
- خالی
- BMW
- دونوں
- خریدا
- شاخیں
- تعمیر
- کاروبار
- لیکن
- خرید
- by
- فون
- کر سکتے ہیں
- کیس
- مقدمات
- کیٹلوگ
- سینٹر
- صدی
- تبدیلیاں
- خصوصیات
- چیک کریں
- بچے
- میں سے انتخاب کریں
- منتخب کریں
- واضح
- کوڈ
- کوڈنگ
- کالم
- کالم
- کامن
- مقابلے میں
- موازنہ
- مکمل
- مکمل
- ترتیب
- کنسول
- مضبوط
- پر مشتمل ہے
- مواد
- کنٹریکٹ
- معاہدے
- سہولت
- تبادلوں سے
- تبادلوں
- تبدیل
- تبدیل
- کارپوریشن
- سکتا ہے
- تخلیق
- بنائی
- تخلیق
- کرنسیوں کے لئے منڈی کے اوقات کو واضح طور پر دیکھ پائیں گے۔
- کرنسی
- موجودہ
- ماؤنٹین
- اعداد و شمار
- ڈیٹا بیس
- تاریخ
- تواریخ
- تاریخ کے وقت
- دن
- نمٹنے کے
- معاملہ
- فیصلہ کرنا
- پہلے سے طے شدہ
- کی وضاحت
- demonstrated,en
- انحصار
- اخذ کردہ
- کے باوجود
- تفصیلات
- مختلف
- ہندسے
- بات چیت
- do
- نہیں کرتا
- کر
- ڈالر
- نہیں
- دوگنا
- نیچے
- چھوڑ
- گرا دیا
- ہر ایک
- آسان
- آسانی سے
- آسان
- ایڈیٹر
- کو چالو کرنے کے
- کافی
- درج
- ماحولیات
- خرابی
- Ether (ETH)
- EUR
- مثال کے طور پر
- مثال کے طور پر
- اس کے علاوہ
- ایکسچینج
- تبادلے
- خصوصی
- وجود
- توسیع
- توقع
- تجربہ
- ختم ہونے کا وقت
- اظہار
- مدت ملازمت میں توسیع
- بیرونی
- اضافی
- نکالنے
- دور
- خوف
- چند
- افسانوی
- میدان
- قطعات
- فائل
- فائلوں
- بھرنے
- بھرے
- مالی
- مالیاتی سازوسامان
- مل
- پہلا
- مقرر
- لچکدار
- پر عمل کریں
- کے بعد
- مندرجہ ذیل ہے
- کے لئے
- فارمیٹ
- ملا
- سے
- مستقبل
- GBP
- جنرل
- عام طور پر
- پیدا
- پیدا
- حاصل
- دے دو
- فراہم کرتا ہے
- Go
- گراف
- لالچ
- ہینڈلنگ
- ہوتا ہے
- ہے
- ہونے
- مدد
- یہاں
- تاریخی
- تاریخ
- کس طرح
- کیسے
- HTML
- HTTP
- HTTPS
- انسان
- i
- شناخت
- شناخت
- if
- اثر
- پر عملدرآمد
- درآمد
- in
- انڈیکس
- اشارہ کیا
- اشارہ کرتا ہے
- اشارہ کرتے ہیں
- اشارہ
- انفرادی
- معلومات
- ان پٹ
- مثال کے طور پر
- کے بجائے
- ہدایات
- آلہ
- آلات
- دلچسپی
- انٹرفیس
- میں
- ISO
- IT
- میں
- ایوب
- نوکریاں
- فوٹو
- JSON
- صرف
- رکھیں
- کلیدی
- بچے
- آخری
- بعد
- کی طرح
- LIMIT
- لائن
- لیکویڈیٹی
- لسٹ
- لوڈ
- محل وقوع
- اب
- دیکھو
- کی طرح دیکھو
- دیکھنا
- تلاش
- کھو
- کھونے
- بنا
- برقرار رکھنے کے
- بنا
- بناتا ہے
- دستی طور پر
- نقشہ
- تعریفیں
- مارکیٹ
- مارکیٹ کا جذبہ
- Markets
- مئی..
- کا مطلب ہے کہ
- ضم کریں
- پیغام
- شاید
- کم سے کم
- لاپتہ
- ماڈل
- کی نگرانی
- زیادہ
- سب سے زیادہ
- ایک سے زیادہ
- باہمی طور پر
- نام
- نامزد
- نام
- ضرورت ہے
- ضروریات
- نئی
- نہیں
- نوڈ
- نوڈس
- عام طور پر
- اب
- تعداد
- تعداد
- اعتراض
- of
- اکثر
- on
- ایک
- صرف
- کھول
- آپریشن
- آپریشنز
- کی اصلاح کریں
- اختیار
- آپشنز کے بھی
- or
- حکم
- احکامات
- اصل
- دیگر
- دوسری صورت میں
- پیداوار
- پر
- مجموعی طور پر
- منسوخی
- خود
- ادا
- پین
- پیرامیٹر
- حصہ
- راستہ
- پسند کرتا ہے
- پائپ لائن
- محور
- مقام
- پلاٹا
- افلاطون ڈیٹا انٹیلی جنس
- پلیٹو ڈیٹا
- پوسٹ
- ممکنہ
- عملی
- عین مطابق
- کی روک تھام
- پیش نظارہ
- قیمت
- شاید
- عمل
- پروسیسنگ
- پیدا
- تیار
- فراہم
- فراہم
- فراہم کرتا ہے
- خرید
- مقصد
- مقاصد
- ڈال
- ازگر
- تعلیم یافتہ
- بلند
- بے ترتیب
- پڑھیں
- اصلی
- مناسب
- کو کم
- کی عکاسی
- خطے
- باقی
- ہٹا
- نقل تیار
- رپورٹ
- کی نمائندگی
- نمائندے
- نمائندگی
- کی نمائندگی کرتا ہے
- کی ضرورت
- ضروریات
- کی ضرورت ہے
- بالترتیب
- باقی
- نتیجے
- نتائج کی نمائش
- کا جائزہ لینے کے
- کردار
- کردار
- ROW
- رن
- چل رہا ہے
- محفوظ
- اسی
- SAP
- محفوظ کریں
- بچت
- سکرال
- سیکنڈ
- منتخب
- منتخب
- فروخت
- سینئر
- جذبات
- علیحدہ
- اجلاس
- سیٹ
- قائم کرنے
- حصص
- شیل
- ہونا چاہئے
- دکھائیں
- شوز
- اسی طرح
- سادہ
- ایک
- سائز
- مہارت
- چھوٹے
- So
- اب تک
- فروخت
- کچھ
- کچھ
- ماخذ
- خلا
- خالی جگہیں
- مخصوص
- مخصوص
- تقسیم
- سپریڈ شیٹ
- SQL
- شروع کریں
- مراحل
- ابھی تک
- اسٹاک
- ذخیرہ
- ذخیرہ
- ذخیرہ
- سلک
- سٹوڈیو
- بعد میں
- کامیابی کے ساتھ
- موزوں
- خلاصہ
- تائید
- علامت
- مصنوعی
- مصنوعی ڈیٹا
- مصنوعی طور پر
- کے نظام
- سسٹمز
- ٹیبل
- لے لو
- ہدف
- ٹیم
- بتا
- عارضی
- دس
- ٹیسٹ
- سے
- کہ
- ۔
- گراف
- کے بارے میں معلومات
- دنیا
- ان
- تو
- لہذا
- یہ
- وہ
- اس
- ان
- وقت
- اوقات
- ٹائمسٹیمپ
- کرنے کے لئے
- آج
- ٹوکن
- ٹوکن دینا
- لیا
- کے آلے
- کل
- تجارت
- تجارت کی جاتی ہے
- تبدیل
- تبدیلی
- تبدیلی
- تبدیل
- دو
- قسم
- کے تحت
- بنیادی
- سمجھ
- منفرد
- جب تک
- اپ ڈیٹ کریں
- اپ ڈیٹ
- اپ ڈیٹ
- URL
- us
- امریکی ڈالر
- امریکی ڈالر
- استعمال کی شرائط
- استعمال کیس
- استعمال کیا جاتا ہے
- رکن کا
- صارفین
- کا استعمال کرتے ہوئے
- قیمتی
- قیمتی معلومات
- قیمت
- اقدار
- مقام
- تصدیق
- اس بات کی تصدیق
- لنک
- نظر
- حجم
- vs
- انتظار
- چاہتے ہیں
- تھا
- راستہ..
- we
- تھے
- کیا
- جب
- جس
- جبکہ
- گے
- ساتھ
- بغیر
- کام کے بہاؤ
- کام کر
- دنیا
- گا
- لکھنا
- تحریری طور پر
- سال
- آپ
- اور
- زیفیرنیٹ