AWS গ্লু স্টুডিও এটি একটি গ্রাফিকাল ইন্টারফেস যা সহজে তৈরি করা, চালানো এবং নিরীক্ষণ করা, রূপান্তর করা এবং লোড করা (ETL) কাজগুলি এডাব্লুএস আঠালো. এটি আপনাকে নোডগুলি ব্যবহার করে দৃশ্যত ডেটা ট্রান্সফরমেশন ওয়ার্কফ্লোগুলি রচনা করতে দেয় যা বিভিন্ন ডেটা পরিচালনার পদক্ষেপগুলিকে উপস্থাপন করে, যা পরে চালানোর জন্য স্বয়ংক্রিয়ভাবে কোডে রূপান্তরিত হয়।
AWS গ্লু স্টুডিও সম্প্রতি মুক্তি কোডিং দক্ষতা ছাড়াই ভিজ্যুয়াল উপায়ে আরও উন্নত কাজ তৈরি করার অনুমতি দেওয়ার জন্য আরও 10টি ভিজ্যুয়াল রূপান্তর। এই পোস্টে, আমরা সম্ভাব্য ব্যবহারের ক্ষেত্রে আলোচনা করি যা সাধারণ ETL চাহিদাগুলিকে প্রতিফলিত করে।
এই পোস্টে যে নতুন রূপান্তরগুলি প্রদর্শিত হবে তা হল: কনক্যাটেনেট, স্প্লিট স্ট্রিং, কলামে অ্যারে, বর্তমান টাইমস্ট্যাম্প, কলামে পিভট সারি, সারিতে কলাম আনপিভট, লুকআপ, এক্সপ্লোড অ্যারে বা কলামে ম্যাপ, প্রাপ্ত কলাম এবং অটোব্যালেন্স প্রসেসিং .
সমাধান ওভারভিউ
এই ব্যবহারের ক্ষেত্রে, আমাদের কাছে স্টক বিকল্প অপারেশন সহ কিছু JSON ফাইল রয়েছে। বিশ্লেষণ করা সহজ করার জন্য আমরা ডেটা সংরক্ষণ করার আগে কিছু রূপান্তর করতে চাই এবং আমরা একটি পৃথক ডেটাসেটের সারাংশও তৈরি করতে চাই।
এই ডেটাসেটে, প্রতিটি সারি বিকল্প চুক্তির একটি ট্রেড উপস্থাপন করে। বিকল্পগুলি হল আর্থিক উপকরণ যা একটি নির্দিষ্ট মূল্যে স্টক শেয়ার কেনা বা বিক্রি করার অধিকার - কিন্তু বাধ্যবাধকতা প্রদান করে না (যাকে বলা হয় ধর্মঘট মূল্য) একটি নির্দিষ্ট মেয়াদ শেষ হওয়ার তারিখের আগে।
তথ্য অন্তর্ভুক্তী
ডেটা নিম্নলিখিত স্কিমা অনুসরণ করে:
- অর্ডার_আইডি - একটি অনন্য আইডি
- প্রতীক - অন্তর্নিহিত স্টক শেয়ার নির্গত কর্পোরেশন সনাক্ত করতে সাধারণত কয়েকটি অক্ষরের উপর ভিত্তি করে একটি কোড
- যন্ত্র - যে নামটি নির্দিষ্ট বিকল্প কেনা বা বিক্রি করা হচ্ছে তা চিহ্নিত করে
- মুদ্রা - ISO কারেন্সি কোড যেখানে মূল্য প্রকাশ করা হয়
- মূল্য - প্রতিটি বিকল্প চুক্তি কেনার জন্য যে পরিমাণ অর্থ প্রদান করা হয়েছিল (বেশিরভাগ এক্সচেঞ্জে, একটি চুক্তি আপনাকে 100টি স্টক শেয়ার কিনতে বা বিক্রি করতে দেয়)
- বিনিময় - বিনিময় কেন্দ্র বা স্থানের কোড যেখানে বিকল্পটি লেনদেন করা হয়েছিল
- বিক্রীত - চুক্তির সংখ্যার একটি তালিকা যেখানে বিক্রয় অর্ডার পূরণ করার জন্য বরাদ্দ করা হয় যখন এটি একটি বিক্রয় বাণিজ্য হয়
- কেনা – চুক্তির সংখ্যার একটি তালিকা যেখানে বাই অর্ডার পূরণ করার জন্য বরাদ্দ করা হয় যখন এটি বাই ট্রেড হয়
এই পোস্টের জন্য তৈরি করা সিন্থেটিক ডেটার নমুনা নিচে দেওয়া হল:
ETL প্রয়োজনীয়তা
এই ডেটাতে অনেকগুলি অনন্য বৈশিষ্ট্য রয়েছে, যা প্রায়শই পুরানো সিস্টেমে পাওয়া যায়, যা ডেটা ব্যবহার করা কঠিন করে তোলে।
নিম্নলিখিত ETL প্রয়োজনীয়তা:
- যন্ত্রের নামে মূল্যবান তথ্য রয়েছে যা মানুষের বোঝার উদ্দেশ্যে করা হয়েছে; সহজ বিশ্লেষণের জন্য আমরা একে আলাদা কলামে স্বাভাবিক করতে চাই।
- গুণাবলী
bought
এবংsold
পারস্পরিক একচেটিয়া; আমরা চুক্তি সংখ্যার সাথে একটি একক কলামে তাদের একত্রীকরণ করতে পারি এবং অন্য একটি কলাম থাকতে পারি যা নির্দেশ করে যে চুক্তিগুলি এই ক্রমে কেনা বা বিক্রি করা হয়েছে কিনা৷ - আমরা স্বতন্ত্র চুক্তি বরাদ্দ সম্পর্কে তথ্য রাখতে চাই তবে ব্যবহারকারীদের সংখ্যার অ্যারের সাথে মোকাবিলা করতে বাধ্য করার পরিবর্তে পৃথক সারি হিসাবে। আমরা সংখ্যা যোগ করতে পারি, কিন্তু অর্ডারটি কীভাবে পূরণ করা হয়েছিল সে সম্পর্কে আমরা তথ্য হারাবো (বাজারের তারল্য নির্দেশ করে)। পরিবর্তে, আমরা টেবিলটিকে অস্বাভাবিক করতে বেছে নিই যাতে প্রতিটি সারিতে একক সংখ্যক চুক্তি থাকে, একাধিক সংখ্যা সহ অর্ডারগুলিকে আলাদা সারিতে বিভক্ত করে। একটি সংকুচিত কলামার বিন্যাসে, যখন কম্প্রেশন প্রয়োগ করা হয় তখন এই পুনরাবৃত্তির অতিরিক্ত ডেটাসেটের আকার প্রায়ই ছোট হয়, তাই এটি ডেটাসেটকে সহজে জিজ্ঞাসা করার জন্য গ্রহণযোগ্য।
- আমরা প্রতিটি স্টকের জন্য প্রতিটি বিকল্প প্রকারের (কল এবং পুট) ভলিউমের একটি সারাংশ টেবিল তৈরি করতে চাই। এটি প্রতিটি স্টক এবং সাধারণভাবে বাজারের জন্য বাজারের অনুভূতির একটি ইঙ্গিত প্রদান করে (লোভ বনাম ভয়)।
- সামগ্রিক বাণিজ্য সংক্ষিপ্তসার সক্ষম করতে, আমরা প্রতিটি অপারেশনের জন্য গ্র্যান্ড মোট প্রদান করতে চাই এবং একটি আনুমানিক রূপান্তর রেফারেন্স ব্যবহার করে মুদ্রাকে মার্কিন ডলারে প্রমিত করতে চাই।
- আমরা সেই তারিখটি যোগ করতে চাই যখন এই রূপান্তরগুলি ঘটেছিল। এটি দরকারী হতে পারে, উদাহরণস্বরূপ, কখন মুদ্রা রূপান্তর করা হয়েছিল তার একটি রেফারেন্স পেতে।
এই প্রয়োজনীয়তার উপর ভিত্তি করে, কাজ দুটি আউটপুট উত্পাদন করবে:
- প্রতিটি প্রতীক এবং প্রকারের জন্য চুক্তির সংখ্যার সারাংশ সহ একটি CSV ফাইল৷
- নির্দেশিত রূপান্তরগুলি করার পরে অর্ডারের ইতিহাস রাখার জন্য একটি ক্যাটালগ টেবিল
পূর্বশর্ত
এই ব্যবহারের ক্ষেত্রে অনুসরণ করার জন্য আপনার নিজের S3 বালতি লাগবে। একটি নতুন বালতি তৈরি করতে, পড়ুন বালতি তৈরি হচ্ছে.
সিন্থেটিক ডেটা তৈরি করুন
এই পোস্টটি অনুসরণ করতে (অথবা আপনার নিজের মতো এই ধরনের ডেটা নিয়ে পরীক্ষা করুন), আপনি এই ডেটাসেটটি সিন্থেটিকভাবে তৈরি করতে পারেন। নিম্নলিখিত পাইথন স্ক্রিপ্টটি Boto3 ইনস্টল এবং অ্যাক্সেস সহ একটি পাইথন পরিবেশে চালানো যেতে পারে আমাজন সিম্পল স্টোরেজ সার্ভিস (Amazon S3)।
ডেটা তৈরি করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:
- AWS গ্লু স্টুডিওতে, বিকল্পের সাথে একটি নতুন কাজ তৈরি করুন পাইথন শেল স্ক্রিপ্ট সম্পাদক.
- কাজের একটি নাম দিন এবং উপর চাকরির বিস্তারিত ট্যাব, একটি নির্বাচন করুন উপযুক্ত ভূমিকা এবং পাইথন স্ক্রিপ্টের জন্য একটি নাম।
- মধ্যে চাকরির বিস্তারিত বিভাগ, প্রসারিত করুন উন্নত বৈশিষ্ট্য এবং নিচে স্ক্রোল কাজের পরামিতি.
- নামের একটি প্যারামিটার লিখুন
--bucket
এবং নমুনা ডেটা সঞ্চয় করতে আপনি যে বালতি ব্যবহার করতে চান তার নামটি মান হিসাবে বরাদ্দ করুন। - AWS গ্লু শেল এডিটরে নিম্নলিখিত স্ক্রিপ্টটি লিখুন:
- কাজটি চালান এবং রান ট্যাবে এটি সফলভাবে সম্পন্ন হওয়া পর্যন্ত অপেক্ষা করুন (এটি মাত্র কয়েক সেকেন্ড লাগবে)।
প্রতিটি রান একটি JSON ফাইল তৈরি করবে যার 1,000টি সারি থাকবে নির্দিষ্ট বালতির নিচে এবং উপসর্গ transformsblog/inputdata/
. আপনি যদি আরও ইনপুট ফাইলের সাথে পরীক্ষা করতে চান তবে আপনি একাধিকবার কাজটি চালাতে পারেন।
সিন্থেটিক ডেটার প্রতিটি লাইন হল একটি ডেটা সারি যা নিম্নোক্ত মত একটি JSON অবজেক্টকে উপস্থাপন করে:
AWS গ্লু ভিজ্যুয়াল কাজ তৈরি করুন
AWS গ্লু ভিজ্যুয়াল কাজ তৈরি করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:
- 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
প্রাপ্ত কলাম হিসাবে তাই এটি ওভাররাইড করে এবং নিম্নলিখিত SQL অভিব্যক্তি লিখুন: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 ব্যবহার করছেন সেই একই অঞ্চলে Athena কনসোল খুলুন।
- একটি 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
- এডব্লিউএস গ্লু ভিজ্যুয়াল কাজে ফিরে, একটি যোগ করুন লুকআপ নোড (এর সন্তান হিসাবে
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
. - চটকদার কম্প্রেশন সহ Parquet বিন্যাস কনফিগার করুন, এবং একটি S3 টার্গেট পাথ প্রদান করুন যার অধীনে ফলাফলগুলি সংরক্ষণ করা যায় (সারাংশ থেকে আলাদা)।
- নির্বাচন করা ডেটা ক্যাটালগে একটি টেবিল তৈরি করুন এবং পরবর্তী রানে, স্কিমা আপডেট করুন এবং নতুন পার্টিশন যোগ করুন.
- একটি টার্গেট ডাটাবেস এবং নতুন টেবিলের জন্য একটি নাম লিখুন, উদাহরণস্বরূপ:
option_orders
.
দুটি পৃথক আউটপুটের জন্য দুটি শাখা সহ চিত্রের শেষ অংশটি এখন নীচের মতো দেখতে হবে।
আপনি সফলভাবে কাজটি চালানোর পরে, আপনি নতুন টেবিলের অনুসন্ধানের মাধ্যমে কাজের উত্পাদিত ডেটা পর্যালোচনা করতে অ্যাথেনার মতো একটি টুল ব্যবহার করতে পারেন। আপনি এথেনা তালিকায় টেবিল খুঁজে পেতে এবং চয়ন করতে পারেন প্রাকদর্শন টেবিল অথবা শুধুমাত্র একটি SELECT ক্যোয়ারী চালান (আপনার ব্যবহৃত নাম এবং ক্যাটালগে টেবিলের নাম আপডেট করা):
SELECT * FROM default.option_orders limit 10
আপনার টেবিলের বিষয়বস্তু নিম্নলিখিত স্ক্রিনশটের মতো দেখতে হবে।
পরিষ্কার কর
আপনি যদি এই উদাহরণটি রাখতে না চান তবে আপনার তৈরি করা দুটি কাজ, অ্যাথেনার দুটি টেবিল এবং S3 পাথগুলি যেখানে ইনপুট এবং আউটপুট ফাইলগুলি সংরক্ষণ করা হয়েছিল তা মুছুন৷
উপসংহার
এই পোস্টে, আমরা দেখিয়েছি কিভাবে AWS Glue Studio-তে নতুন রূপান্তরগুলি আপনাকে সর্বনিম্ন কনফিগারেশনের সাথে আরও উন্নত রূপান্তর করতে সাহায্য করতে পারে। এর মানে হল আপনি কোন কোড লিখতে এবং বজায় না রেখেই আরও বেশি ETL ব্যবহারের ক্ষেত্রে প্রয়োগ করতে পারেন। নতুন রূপান্তরগুলি ইতিমধ্যেই AWS Glue Studio-তে উপলব্ধ, তাই আপনি আজকে আপনার ভিজ্যুয়াল কাজের ক্ষেত্রে নতুন রূপান্তরগুলি ব্যবহার করতে পারেন৷
লেখক সম্পর্কে
গঞ্জালো হেরেরোস AWS Glue দলের একজন সিনিয়র বিগ ডেটা আর্কিটেক্ট।
- এসইও চালিত বিষয়বস্তু এবং পিআর বিতরণ। আজই পরিবর্ধিত পান।
- প্লেটোএআইস্ট্রিম। Web3 ডেটা ইন্টেলিজেন্স। জ্ঞান প্রসারিত. এখানে প্রবেশ করুন.
- অ্যাড্রিয়েন অ্যাশলির সাথে ভবিষ্যত মিন্টিং। এখানে প্রবেশ করুন.
- PREIPO® এর সাথে PRE-IPO কোম্পানিতে শেয়ার কিনুন এবং বিক্রি করুন। এখানে প্রবেশ করুন.
- উত্স: https://aws.amazon.com/blogs/big-data/ten-new-visual-transforms-in-aws-glue-studio/
- : আছে
- : হয়
- :না
- :কোথায়
- $ ইউপি
- 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
- এডাব্লুএস আঠালো
- পিছনে
- ভিত্তি
- BE
- আগে
- হচ্ছে
- বিশাল
- বড় ডেটা
- ফাঁকা
- বগুড়া
- উভয়
- কেনা
- শাখা
- নির্মাণ করা
- ব্যবসায়
- কিন্তু
- কেনা
- by
- কল
- CAN
- কেস
- মামলা
- তালিকা
- কেন্দ্র
- শতাব্দী
- পরিবর্তন
- বৈশিষ্ট্য
- চেক
- শিশু
- বেছে নিন
- নির্বাচন
- পরিষ্কার
- কোড
- কোডিং
- স্তম্ভ
- কলাম
- সাধারণ
- তুলনা
- তুলনা
- সম্পূর্ণ
- সম্পন্ন হয়েছে
- কনফিগারেশন
- কনসোল
- দৃঢ় করা
- ধারণ
- বিষয়বস্তু
- চুক্তি
- চুক্তি
- সুবিধা
- পরিবর্তন
- ধর্মান্তর
- রূপান্তর
- ধর্মান্তরিত
- কর্পোরেশন
- পারা
- সৃষ্টি
- নির্মিত
- তৈরি করা হচ্ছে
- মুদ্রা
- মুদ্রা
- বর্তমান
- DAG
- উপাত্ত
- ডেটাবেস
- তারিখ
- তারিখগুলি
- DATETIME
- দিন
- লেনদেন
- ডিলিং
- সিদ্ধান্ত নেন
- ডিফল্ট
- সংজ্ঞায়িত
- প্রদর্শিত
- বশ্যতা
- উদ্ভূত
- সত্ত্বেও
- বিস্তারিত
- বিভিন্ন
- ডিজিটের
- আলোচনা করা
- do
- না
- করছেন
- ডলার
- Dont
- ডবল
- নিচে
- ড্রপ
- বাদ
- প্রতি
- সহজ
- সহজে
- সহজ
- সম্পাদক
- সক্ষম করা
- যথেষ্ট
- প্রবেশ করান
- পরিবেশ
- ভুল
- থার (eth)
- ইউরো
- উদাহরণ
- উদাহরণ
- ছাড়া
- বিনিময়
- এক্সচেঞ্জ
- একচেটিয়া
- থাকা
- বিস্তৃত করা
- প্রত্যাশিত
- পরীক্ষা
- শ্বাসত্যাগ
- প্রকাশিত
- প্রসার
- বহিরাগত
- অতিরিক্ত
- নির্যাস
- এ পর্যন্ত
- ভয়
- কয়েক
- কল্পিত
- ক্ষেত্র
- ক্ষেত্রসমূহ
- ফাইল
- নথি পত্র
- পূরণ করা
- ভরা
- আর্থিক
- অর্থনৈতিক কার্যসম্পাদন
- আবিষ্কার
- প্রথম
- স্থায়ী
- নমনীয়
- অনুসরণ করা
- অনুসরণ
- অনুসরণ
- জন্য
- বিন্যাস
- পাওয়া
- থেকে
- ভবিষ্যৎ
- জিবিপি
- সাধারণ
- সাধারণত
- উত্পাদন করা
- উত্পন্ন
- পাওয়া
- দাও
- দেয়
- Go
- চিত্রলেখ
- ক্ষুধা
- হ্যান্ডলিং
- এরকম
- আছে
- জমিদারি
- সাহায্য
- এখানে
- ঐতিহাসিক
- ইতিহাস
- কিভাবে
- কিভাবে
- এইচটিএমএল
- HTTP
- HTTPS দ্বারা
- মানুষেরা
- i
- শনাক্ত
- সনাক্ত করা
- if
- প্রভাব
- বাস্তবায়ন
- আমদানি
- in
- ইনডেক্স
- জ্ঞাপিত
- ইঙ্গিত
- ইঙ্গিত
- ইঙ্গিত
- স্বতন্ত্র
- তথ্য
- ইনপুট
- উদাহরণ
- পরিবর্তে
- নির্দেশাবলী
- যন্ত্র
- যন্ত্র
- স্বার্থ
- ইন্টারফেস
- মধ্যে
- আইএসও
- IT
- এর
- কাজ
- জবস
- JPG
- JSON
- মাত্র
- রাখা
- চাবি
- রকম
- গত
- পরে
- মত
- LIMIT টি
- লাইন
- তারল্য
- তালিকা
- বোঝা
- অবস্থান
- আর
- দেখুন
- মত চেহারা
- সৌন্দর্য
- খুঁজে দেখো
- হারান
- হারানো
- প্রণীত
- বজায় রাখা
- করা
- তৈরি করে
- ম্যানুয়ালি
- মানচিত্র
- ম্যাপিং
- বাজার
- বাজার অনুভূতি
- বাজার
- মে..
- মানে
- মার্জ
- বার্তা
- হতে পারে
- সর্বনিম্ন
- অনুপস্থিত
- মডেল
- মনিটর
- অধিক
- সেতু
- বহু
- পরস্পর
- নাম
- নামে
- নাম
- প্রয়োজন
- চাহিদা
- নতুন
- না।
- নোড
- নোড
- স্বাভাবিকভাবে
- এখন
- সংখ্যা
- সংখ্যার
- লক্ষ্য
- of
- প্রায়ই
- on
- ONE
- কেবল
- খোলা
- অপারেশন
- অপারেশনস
- অপ্টিমিজ
- পছন্দ
- অপশন সমূহ
- or
- ক্রম
- আদেশ
- মূল
- অন্যান্য
- অন্যভাবে
- আউটপুট
- শেষ
- সামগ্রিক
- অগ্রাহ্য করা
- নিজের
- দেওয়া
- শার্সি
- স্থিতিমাপ
- অংশ
- পথ
- পিক
- পাইপলাইন
- পিভট
- জায়গা
- Plato
- প্লেটো ডেটা ইন্টেলিজেন্স
- প্লেটোডাটা
- পোস্ট
- সম্ভাব্য
- ব্যবহারিক
- যথাযথ
- প্রতিরোধ
- প্রি
- মূল্য
- সম্ভবত
- প্রক্রিয়া
- প্রক্রিয়াজাতকরণ
- উৎপাদন করা
- প্রযোজনা
- প্রদান
- প্রদত্ত
- উপলব্ধ
- ক্রয়
- উদ্দেশ্য
- উদ্দেশ্য
- করা
- পাইথন
- যোগ্যতাসম্পন্ন
- বৃদ্ধি
- এলোমেলো
- পড়া
- বাস্তব
- ন্যায্য
- হ্রাস করা
- প্রতিফলিত করা
- এলাকা
- অবশিষ্ট
- অপসারণ
- প্রতিলিপি
- প্রতিবেদন
- চিত্রিত করা
- প্রতিনিধি
- প্রতিনিধিত্বমূলক
- প্রতিনিধিত্ব করে
- প্রয়োজন
- আবশ্যকতা
- প্রয়োজন
- যথাক্রমে
- বিশ্রাম
- ফলে এবং
- ফলাফল
- এখানে ক্লিক করুন
- ভূমিকা
- ভূমিকা
- সারিটি
- চালান
- দৌড়
- নিরাপদ
- একই
- প্রাণরস
- সংরক্ষণ করুন
- রক্ষা
- স্ক্রল
- সেকেন্ড
- নির্বাচিত
- নির্বাচন
- বিক্রি করা
- জ্যেষ্ঠ
- অনুভূতি
- আলাদা
- সেশন
- সেট
- বিন্যাস
- শেয়ারগুলি
- খোল
- উচিত
- প্রদর্শনী
- শো
- অনুরূপ
- সহজ
- একক
- আয়তন
- দক্ষতা
- ছোট
- So
- যতদূর
- বিক্রীত
- কিছু
- কিছু
- উৎস
- স্থান
- শূণ্যস্থান
- নির্দিষ্ট
- নিদিষ্ট
- বিভক্ত করা
- স্প্রেডশীট
- এসকিউএল
- শুরু
- প্রারম্ভিক ব্যবহারের নির্দেশাবলী
- এখনো
- স্টক
- স্টোরেজ
- দোকান
- সঞ্চিত
- স্ট্রিং
- চিত্রশালা
- পরবর্তী
- সফলভাবে
- উপযুক্ত
- সংক্ষিপ্তসার
- সমর্থিত
- প্রতীক
- কৃত্রিম
- সিনথেটিক ডেটা
- কৃত্রিমভাবে
- পদ্ধতি
- সিস্টেম
- টেবিল
- গ্রহণ করা
- লক্ষ্য
- টীম
- বলা
- অস্থায়ী
- এই
- পরীক্ষা
- চেয়ে
- যে
- সার্জারির
- গ্রাফ
- তথ্য
- বিশ্ব
- তাহাদিগকে
- তারপর
- অতএব
- এইগুলো
- তারা
- এই
- সেগুলো
- সময়
- বার
- টাইমস্ট্যাম্প
- থেকে
- আজ
- টোকেন
- টোকেনাইজ
- গ্রহণ
- টুল
- মোট
- বাণিজ্য
- ব্যবসা
- রুপান্তর
- রুপান্তর
- রূপান্তরের
- রুপান্তরিত
- দুই
- আদর্শ
- অধীনে
- নিম্নাবস্থিত
- বোঝা
- অনন্য
- পর্যন্ত
- আপডেট
- আপডেট
- আপডেট
- URL টি
- us
- মার্কিন ডলার
- আমেরিকান ডলার
- ব্যবহার
- ব্যবহার ক্ষেত্রে
- ব্যবহৃত
- ব্যবহারকারী
- ব্যবহারকারী
- ব্যবহার
- দামি
- মূল্যবান তথ্য
- মূল্য
- মানগুলি
- ঘটনাস্থল
- ভেরিফাইড
- যাচাই
- চেক
- দৃশ্যমান
- আয়তন
- vs
- অপেক্ষা করুন
- প্রয়োজন
- ছিল
- উপায়..
- we
- ছিল
- কি
- কখন
- যে
- যখন
- ইচ্ছা
- সঙ্গে
- ছাড়া
- কর্মপ্রবাহ
- কাজ
- বিশ্ব
- would
- লেখা
- লেখা
- বছর
- আপনি
- আপনার
- zephyrnet