ডেল্টা লেকের সাথে আর্থিক লেনদেনের অসঙ্গতি সনাক্তকরণ এবং ডেটা বংশ
ভূমিকা
আর্থিক শিল্পে, লেনদেনের ডেটাতে অসঙ্গতি সনাক্ত করা জালিয়াতি প্রতিরোধ, সম্মতি এবং ঝুঁকি ব্যবস্থাপনার জন্য গুরুত্বপূর্ণ। অস্বাভাবিক লেনদেনের পরিমাণ, অনিয়মিত লেনদেনের ধরণ এবং অস্বাভাবিক নিদর্শনগুলি প্রতারণামূলক ক্রিয়াকলাপ বা ত্রুটিগুলি নির্দেশ করতে পারে যার জন্য তাত্ক্ষণিক মনোযোগের প্রয়োজন। বিগ ডেটা প্রযুক্তি এবং উন্নত ডেটা প্রসেসিং ফ্রেমওয়ার্কগুলি কার্যকরভাবে এই জাতীয় অসঙ্গতিগুলি সনাক্ত করার ক্ষমতা বাড়িয়ে তুলতে পারে।
এই উদাহরণটি একটি উপস্থাপন করে সরলীকৃত কেস ব্যবহার করুন যা কীভাবে আর্থিক লেনদেনের অসঙ্গতি সনাক্তকরণ ব্যবহার করে তা প্রদর্শন করে স্পার্ক এসকিউএল এবং ডেল্টা লেক . সমাধানটি এর সাথেও সংহত হয় ওপেন লিনিয়েজ ডেটা প্রসেসিং পাইপলাইন জুড়ে বিস্তারিত ডেটা বংশের তথ্য ক্যাপচার করার জন্য ফ্রেমওয়ার্ক।
একই জিনিস ব্যবহার করে সম্পন্ন করা যেতে পারে হিমশৈল বা হুদি . আমরা বেছে নিয়েছি ডেল্টা কারণ এটি ইলুমের একটি ডিফল্ট টেবিল ফর্ম্যাট।
বিআই ড্যাশবোর্ড ব্যবহার করে করা হয় অ্যাপাচি সুপারসেট , যা ইলুমে উপলব্ধ মডিউলগুলির মধ্যে একটি। আপনি এই ব্যবহারের ক্ষেত্রে ড্যাশবোর্ড খুঁজে পেতে পারেন এখানে
ডেটাসেটের বর্ণনা
এই ব্যবহারের ক্ষেত্রে ব্যবহৃত ডেটাসেটটিতে নিম্নলিখিত কলামগুলির সাথে সিমুলেটেড আর্থিক লেনদেনের রেকর্ড রয়েছে:
- লেনদেনটাইমস্ট্যাম্প : লেনদেন কখন ঘটেছে তার টাইমস্ট্যাম্প।
- TransactionID : প্রতিটি লেনদেনের জন্য অনন্য সনাক্তকারী।
- অ্যাকাউন্ট আইডি : জড়িত ব্যাংক অ্যাকাউন্টের জন্য অনন্য সনাক্তকারী।
- পরিমান : লেনদেনের আর্থিক মূল্য।
- বণিক : লেনদেনের সাথে জড়িত বণিক বা সত্তা।
- লেনদেনের ধরন : লেনদেনের ধরণ (উদাঃ, ক্রয়, প্রত্যাহার, স্থানান্তর)।
- অবস্থান : ভৌগলিক অবস্থান যেখানে লেনদেন হয়েছিল।
নমুনা তথ্য:
| লেনদেনটাইমস্ট্যাম্প | TransactionID | অ্যাকাউন্ট আইডি | পরিমান | বণিক | লেনদেনের ধরন | অবস্থান |
|---|---|---|---|---|---|---|
| 2023-01-01 08:00:00 | TXN1127 | এসিসি৪ | 95071.92 | মার্চেন্টএইচ | ক্রয় | টোকিও |
| 2023-01-01 08:01:00 | TXN1639 | এসিসি১০ | 15607.89 | মার্চেন্টএইচ | ক্রয় | লন্ডন |
| 2023-01-01 08:02:00 | TXN872 | এসিসি৮ | 65092.34 | মার্চেন্টই | প্রত্যাহার | লন্ডন |
| 2023-01-01 08:03:00 | TXN2001 | এসিসি৪ | 500.50 | মার্চেন্টএ | স্থানান্তর | নিউ ইয়র্ক |
| 2023-01-01 08:04:00 | TXN2002 | এসিসি১০ | 1200.00 | মার্চেন্টবি | ক্রয় | প্যারিস |
| 2023-01-01 08:05:00 | TXN2003 | এসিসি৮ | 300.00 | মার্চেন্টসি | প্রত্যাহার | টোকিও |
উদ্দেশ্যসমূহ
এই ব্যবহারের ক্ষেত্রে প্রাথমিক উদ্দেশ্যগুলি হ'ল:
- অসঙ্গতি সনাক্তকরণ : ডেটা বিতরণ থেকে প্রাপ্ত ঊর্ধ্বসীমা অতিক্রমকারী পরিমাণের উপর ভিত্তি করে অসঙ্গতিপূর্ণ লেনদেনগুলি সনাক্ত করুন।
- অনিয়মিত লেনদেন সনাক্তকরণ : নির্দিষ্ট অ্যাকাউন্টের জন্য অনিয়মিত লেনদেনের ধরন সনাক্ত করুন।
- প্যাটার্ন স্বীকৃতি : লেনদেনের টাইমস্ট্যাম্প এবং অবস্থানের উপর ভিত্তি করে অস্বাভাবিক নিদর্শনগুলি সনাক্ত করুন।
- আচরণগত বিশ্লেষণ : বণিকদের উপর ভিত্তি করে ব্যয় আচরণগুলি ট্র্যাক করুন।
- পরিসংখ্যানগত সারসংক্ষেপ : অ্যাকাউন্ট প্রতি মোট লেনদেন, গড়, ন্যূনতম এবং সর্বাধিক লেনদেনের পরিমাণ গণনা করুন।
- ডেল্টা লেক ইন্টিগ্রেশন : ডেটা প্রসেসিং বাড়ানোর জন্য সময় ভ্রমণ, ডেটা ফিড পরিবর্তন এবং স্কিমা বিবর্তনের মতো ডেল্টা লেকের বৈশিষ্ট্যগুলি ব্যবহার করুন।
- ডেটা বংশ ট্র্যাকিং : ওপেনলিনেজ ফ্রেমওয়ার্ক ব্যবহার করে ডেটা বংশ ক্যাপচার এবং ভিজ্যুয়ালাইজ করুন।
সমাধান সংক্ষিপ্ত বিবরণ
সমাধানটিতে লেনদেনের ডেটা প্রক্রিয়া এবং বিশ্লেষণের জন্য ডেল্টা লেক টেবিলগুলির একটি সিরিজ তৈরি করা জড়িত। পদক্ষেপগুলির মধ্যে রয়েছে:
- ডাটা ইনজেশন : একটি ডেল্টা লেক টেবিলে লেনদেনের ডেটা লোড করুন।
- পরিসংখ্যান বিশ্লেষণ : অ্যানোমালি থ্রেশহোল্ডগুলি সংজ্ঞায়িত করতে পরিসংখ্যানগত পরামিতি গণনা করুন।
- অসঙ্গতি সনাক্তকরণ : নির্ধারিত সীমা অতিক্রম করে এমন লেনদেন এবং অ্যাকাউন্টগুলি সনাক্ত করুন।
- প্যাটার্ন বিশ্লেষণ : অনিয়মিত লেনদেনের ধরণ এবং অস্থায়ী নিদর্শনগুলি সনাক্ত করুন।
- আচরণগত বিশ্লেষণ : বণিকদের উপর ভিত্তি করে ব্যয় আচরণ বিশ্লেষণ করুন।
- ডাটা এনহ্যান্সমেন্ট : ডেটা আপডেট, স্কিমা বিবর্তন এবং সময় ভ্রমণের জন্য ডেল্টা লেক বৈশিষ্ট্যগুলি ব্যবহার করুন।
- প্রতিবেদন : ব্যবসায়ের অন্তর্দৃষ্টিগুলির জন্য সংক্ষিপ্ত প্রতিবেদন তৈরি করুন।
- উপাত্ত বংশ : পাইপলাইন জুড়ে ডেটা বংশ ক্যাপচার করতে ওপেনলিনেজ লিভারেজ করুন।
প্রযুক্তিগত বাস্তবায়ন
পদক্ষেপ 1: লেনদেনের ডেল্টা টেবিল তৈরি করুন
আমরা তৈরি করে শুরু করি লেনদেন আর্থিক লেনদেনের তথ্য সংরক্ষণের জন্য ডেল্টা লেক টেবিল হিসাবে টেবিল।
এসকিউএল কোড:
তৈরি সারণী লেনদেন (
লেনদেনটাইমস্ট্যাম্প টাইমস্ট্যাম্প মন্তব্য 'লেনদেন হওয়ার তারিখ এবং সময়' ,
TransactionID স্ট্রিং মন্তব্য 'লেনদেনের জন্য অনন্য শনাক্তকারী' ,
AccountID স্ট্রিং মন্তব্য 'জড়িত অ্যাকাউন্টের জন্য অনন্য সনাক্তকারী' ,
পরিমান দশমিক ( 18 , 2 ) মন্তব্য 'লেনদেনের আর্থিক মূল্য' ,
বণিক স্ট্রিং মন্তব্য 'লেনদেনের সঙ্গে জড়িত ব্যবসায়ী' ,
লেনদেনের ধরন স্ট্রিং মন্তব্য 'লেনদেনের ধরণ (উদাঃ, ক্রয়, প্রত্যাহার)' ,
অবস্থান স্ট্রিং মন্তব্য 'লেনদেনের স্থান কোথায়'
)
ব্যবহার ডেল্টা
মন্তব্য 'আর্থিক লেনদেন সম্বলিত সারণী' ;
নমুনা তথ্য সন্নিবেশ করান:
- ফাইল থেকে তথ্য আমদানি করুন
- ম্যানুয়ালি ডেটা প্রবেশ করান
উদাহরণ ফাইলের লিঙ্ক পাওয়া যাবে এখানে
আপনার ইলম ইনস্ট্যান্সের সাথে লিঙ্কযুক্ত স্টোরেজে ফাইলটি আপলোড করা প্রয়োজন।
সন্নিবেশ ওভাররাইট সারণী লেনদেন
নির্বাচন
_c0 , _c1 , _c2 , _c3 , _c4 , _c5 , _c6
থেকে সিএসভি . ` s3a://ilum-data/financial_anomaly_data.csv `
সন্নিবেশ এর মধ্যে লেনদেন মানসমূহ
( টাইমস্ট্যাম্প ( '2023-01-01 08:00:00' ) , 'TXN1127' , 'এসিসি৪' , 95071.92 , 'মার্চেন্টএইচ' , 'ক্রয়' , 'টোকিও' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 08:01:00' ) , 'TXN1639' , 'এসিসি১০' , 15607.89 , 'মার্চেন্টএইচ' , 'ক্রয়' , 'লন্ডন' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 08:02:00' ) , 'TXN872' , 'এসিসি৮' , 65092.34 , 'মার্চেন্ট' , 'প্রত্যাহার' , 'লন্ডন' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 08:03:00' ) , 'TXN2001' , 'এসিসি৪' , 500.50 , 'মার্চেন্ডা' , 'ট্রান্সফার' , 'নিউ ইয়র্ক' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 08:04:00' ) , 'TXN2002' , 'এসিসি১০' , 1200.00 , 'মার্চেন্টবি' , 'ক্রয়' , 'প্যারিস' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 08:05:00' ) , 'TXN2003' , 'এসিসি৮' , 300.00 , 'মার্চেন্টসি' , 'প্রত্যাহার' , 'টোকিও' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 09:15:00' ) , 'TXN2004' , 'এসিসি৫' , 25000.00 , 'মার্চেন্টডি' , 'আমানত' , 'বার্লিন' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 10:30:00' ) , 'TXN2005' , 'এসিসি৬' , 75000.00 , 'মার্চেন্ট' , 'ক্রয়' , 'সিডনি' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 11:45:00' ) , 'TXN2006' , 'এসিসি৭' , 500.00 , 'মার্চেন্টএফ' , 'প্রত্যাহার' , 'টরন্টো' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 12:00:00' ) , 'TXN2007' , 'এসিসি৪' , 300000.00 , 'মার্চেন্টজি' , 'ট্রান্সফার' , 'দুবাই' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 13:15:00' ) , 'TXN2008' , 'এসিসি৮' , 150.00 , 'মার্চেন্টএইচ' , 'ক্রয়' , 'টোকিও' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 14:30:00' ) , 'TXN2009' , 'এসিসি১০' , 2000.00 , 'মার্চেন্ডি' , 'আমানত' , 'নিউ ইয়র্ক' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 15:45:00' ) , 'TXN2010' , 'এসিসি৫' , 800.00 , 'মার্চেন্টজে' , 'প্রত্যাহার' , 'লন্ডন' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 16:00:00' ) , 'TXN2011' , 'এসিসি৬' , 45000.00 , 'মার্চেন্টকে' , 'ক্রয়' , 'প্যারিস' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 17:15:00' ) , 'TXN2012' , 'এসিসি৭' , 600.00 , 'মার্চেন্টএল' , 'ট্রান্সফার' , 'বার্লিন' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 18:30:00' ) , 'TXN2013' , 'এসিসি৪' , 70000.00 , 'মার্চেন্টএম' , 'ক্রয়' , 'টোকিও' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 19:45:00' ) , 'TXN2014' , 'এসিসি৮' , 500000.00 , 'মার্চেন্টএন' , 'প্রত্যাহার' , 'সিডনি' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 20:00:00' ) , 'TXN2015' , 'এসিসি১০' , 120000.00 , 'মার্চেন্টও' , 'ক্রয়' , 'দুবাই' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 21:15:00' ) , 'TXN2016' , 'এসিসি৫' , 350.00 , 'মার্চেন্টপি' , 'আমানত' , 'টরন্টো' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 22:30:00' ) , 'TXN2017' , 'এসিসি৬' , 1000.00 , 'মার্চেন্টকিউ' , 'প্রত্যাহার' , 'নিউ ইয়র্ক' ) ,
( টাইমস্ট্যাম্প ( '2023-01-01 23:45:00' ) , 'TXN2018' , 'এসিসি৭' , 90000.00 , 'মার্চেন্টআর' , 'ট্রান্সফার' , 'প্যারিস' ) ,
( টাইমস্ট্যাম্প ( '2023-01-02 00:00:00' ) , 'TXN2019' , 'এসিসি৪' , 250.00 , 'মার্চেন্টস' , 'ক্রয়' , 'লন্ডন' ) ,
( টাইমস্ট্যাম্প ( '2023-01-02 01:15:00' ) , 'TXN2020' , 'এসিসি৮' , 400.00 , 'মার্চেন্ট' , 'প্রত্যাহার' , 'টোকিও' ) ,
( টাইমস্ট্যাম্প ( '2023-01-02 02:30:00' ) , 'TXN2021' , 'এসিসি১০' , 5000.00 , 'মার্চেন্টইউ' , 'আমানত' , 'বার্লিন' ) ,
( টাইমস্ট্যাম্প ( '2023-01-02 03:45:00' ) , 'TXN2022' , 'এসিসি৫' , 600000.00 , 'মার্চেন্টভি' , 'ক্রয়' , 'দুবাই' ) ,
( টাইমস্ট্যাম্প ( '2023-01-02 04:00:00' ) , 'TXN2023' , 'এসিসি৬' , 50.00 , 'মার্চেন্ট' , 'ট্রান্সফার' , 'সিডনি' ) ,
( টাইমস্ট্যাম্প ( '2023-01-02 05:15:00' ) , 'TXN2024' , 'এসিসি৭' , 800.00 , 'মার্চেন্টএক্স' , 'ক্রয়' , 'নিউ ইয়র্ক' ) ,
( টাইমস্ট্যাম্প ( '2023-01-02 06:30:00' ) , 'TXN2025' , 'এসিসি৪' , 1000000.00 , 'মার্চেন্টি' , 'প্রত্যাহার' , 'টোকিও' ) ,
( টাইমস্ট্যাম্প ( '2023-01-02 07:45:00' ) , 'TXN2026' , 'এসিসি৮' , 100.00 , 'মার্চেন্টজেড' , 'আমানত' , 'লন্ডন' ) ;
ব্যাখ্যা:
- ডেল্টা ব্যবহার করে : নির্দিষ্ট করে যে টেবিলটি একটি ডেল্টা লেক টেবিল।
- মন্তব্যসমূহ : আরও ভাল ডকুমেন্টেশন এবং বোঝার জন্য মেটাডেটা সরবরাহ করুন।
নমুনা আউটপুট:
নমুনা ভিজ্যুয়ালাইজেশন:
পদক্ষেপ 2: লেনদেনের পরিমাণে অসঙ্গতি সনাক্ত করা
আমরা লেনদেনগুলি সনাক্ত করার লক্ষ্য রাখি যেখানে পরিমাণটি বিতরণের উপর ভিত্তি করে একটি উচ্চতর সীমা অতিক্রম করে পরিমান স্তম্ভ।
2.1 পরিসংখ্যানগত পরামিতি গণনা করুন
এসকিউএল কোড:
তৈরি দর্শন amount_stats হিসেবে
নির্বাচন
এভিজি ( পরিমান ) হিসেবে avg_amount ,
STDDEV ( পরিমান ) হিসেবে stddev_amount ,
পার্সেন্টাইল ( পরিমান , 0.95 ) হিসেবে percentile_95
থেকে
লেনদেন ;
ব্যাখ্যা:
- গড় (পরিমাণ) : গড় লেনদেনের পরিমাণ গণনা করে।
- STDDEV (পরিমাণ) : স্ট্যান্ডার্ড বিচ্যুতি গণনা করে, ডেটা বিচ্ছুরণ বোঝার জন্য দরকারী।
- শতকরা (পরিমাণ, 0.95) : 95 তম পার্সেন্টাইল গণনা করে, সাধারণ লেনদেনের জন্য ঊর্ধ্ব সীমা হিসাবে ব্যবহৃত।
নমুনা আউটপুট:
2.2 সীমা অতিক্রমকারী লেনদেন চিহ্নিত করুন
এসকিউএল কোড:
তৈরি দর্শন অসঙ্গতি
হিসেবে
নির্বাচন
TransactionID ,
অ্যাকাউন্ট আইডি ,
পরিমান ,
মামলা
যখন পরিমান > ( নির্বাচন percentile_95 থেকে amount_stats ) তারপর 'সীমা অতিক্রম'
অন্য 'উইদিনলিমিট'
শেষ হিসেবে অ্যানোমালি স্ট্যাটাস
থেকে
লেনদেন ;
ব্যাখ্যা:
- অ্যানোমালি স্ট্যাটাস : লেনদেন সীমা অতিক্রম করেছে কিনা তা নির্দেশ করে একটি নতুন কলাম।
নমুনা আউটপুট:
| TransactionID | অ্যাকাউন্ট আইডি | পরিমান | অ্যানোমালি স্ট্যাটাস |
|---|---|---|---|
| TXN1127 | এসিসি৪ | 95071.92 | সীমা অতিক্রম করেছে |
| ... | ... | ... | ... |
নমুনা ভিজ্যুয়ালাইজেশন:
ধাপ 3: অ্যাকাউন্ট পরিসংখ্যান গণনা
অ্যাকাউন্ট প্রতি মোট লেনদেন, গড়, ন্যূনতম ও সর্বাধিক লেনদেনের পরিমাণ গণনা করুন।
এসকিউএল কোড:
তৈরি সারণী account_totals
ব্যবহার ডেল্টা
হিসেবে
নির্বাচন
অ্যাকাউন্ট আইডি ,
গণনা ( TransactionID ) হিসেবে লেনদেনগণনা ,
যোগফল ( পরিমান ) হিসেবে TotalAmount ,
এভিজি ( পরিমান ) হিসেবে গড় পরিমাণ ,
মিনিট ( পরিমান ) হিসেবে মিনিমাউন্ট ,
সর্বোচ্চ ( পরিমান ) হিসেবে ম্যাক্সঅ্যামাউন্ট
থেকে
লেনদেন
গোষ্ঠী দ্বারা
অ্যাকাউন্ট আইডি ;
ব্যাখ্যা:
- অ্যাকাউন্ট আইডি অনুসারে গ্রুপ : প্রতি অ্যাকাউন্টে তথ্য একত্রিত করে।
- সামগ্রিক ফাংশন : প্রতিটি অ্যাকাউন্টের জন্য পরিসংখ্যানগত পরিমাপ গণনা করুন।
নমুনা আউটপুট:
| অ্যাকাউন্ট আইডি | লেনদেনগণনা | TotalAmount | গড় পরিমাণ | মিনিমাউন্ট | ম্যাক্সঅ্যামাউন্ট |
|---|---|---|---|---|---|
| এসিসি৪ | 2 | 95572.42 | 47786.21 | 500.50 | 95071.92 |
| ... | ... | ... | ... | ... | ... |
ধাপ ৪: সীমা অতিক্রমকারী অ্যাকাউন্ট চিহ্নিত করা
পূর্বনির্ধারিত সীমা অতিক্রম করা লেনদেন রয়েছে এমন অ্যাকাউন্টগুলি সনাক্ত করুন।
4.1 অতিক্রমকারী অ্যাকাউন্টগুলি নির্ধারণ করুন
এসকিউএল কোড:
তৈরি দর্শন exceeding_accounts হিসেবে
নির্বাচন স্বতন্ত্র অ্যাকাউন্ট আইডি
থেকে অসঙ্গতি
যেখানে অ্যানোমালি স্ট্যাটাস = 'সীমা অতিক্রম' ;
4.2 অতিক্রমকারী এবং অ-অতিক্রমকারী অ্যাকাউন্টগুলির গণনা
এসকিউএল কোড:
নির্বাচন
( নির্বাচন গণনা ( * ) থেকে exceeding_accounts ) হিসেবে অতিক্রম করা অ্যাকাউন্টগুলি ,
( নির্বাচন গণনা ( স্বতন্ত্র অ্যাকাউন্ট আইডি ) থেকে লেনদেন ) - ( নির্বাচন গণনা ( * ) থেকে exceeding_accounts ) হিসেবে ননএক্সসিইডিংঅ্যাকাউন্টস ;
নমুনা আউটপুট:
| অতিক্রম করা অ্যাকাউন্টগুলি | ননএক্সসিইডিংঅ্যাকাউন্টস |
|---|---|
| 12 | 3 |
পদক্ষেপ 5: অস্বাভাবিক সাময়িক নিদর্শনগুলি সনাক্ত করা
স্বাভাবিক ব্যবসায়িক সময়ের বাইরে ঘটে যাওয়া লেনদেনগুলি শনাক্ত করুন (উদাঃ, সকাল 9টা থেকে বিকাল 5টা)।
এসকিউএল কোড:
তৈরি দর্শন after_hours_transactions
হিসেবে
নির্বাচন
* ,
ঘন্টা ( লেনদেনটাইমস্ট্যাম্প ) হিসেবে লেনদেনের সময়
থেকে
লেনদেন
যেখানে
ঘন্টা ( লেনদেনটাইমস্ট্যাম্প ) না মধ্যে 9 এবং 17 ;
ব্যাখ্যা:
- ঘন্টা (লেনদেনের সময়স্ট্যাম্প) : টাইমস্ট্যাম্প থেকে ঘন্টাটি বের করে।
- ৯ থেকে ১৭ এর মধ্যে নয় : ব্যবসায়ের সময়ের বাইরে লেনদেন ফিল্টার করে।
পদক্ষেপ 7: বণিক দ্বারা ব্যয় আচরণ বিশ্লেষণ
বণিক মিথস্ক্রিয়া উপর ভিত্তি করে গ্রাহক আচরণ বুঝতে সামগ্রিক ব্যয় তথ্য।
এসকিউএল কোড:
তৈরি সারণী merchant_spending
ব্যবহার ডেল্টা
হিসেবে
নির্বাচন
বণিক ,
গণনা ( * ) হিসেবে লেনদেনগণনা ,
যোগফল ( পরিমান ) হিসেবে টোটালস্পেন্ড ,
এভিজি ( পরিমান ) হিসেবে গড় লেনদেনের পরিমাণ ,
মিনিট ( পরিমান ) হিসেবে মিনিমাউন্ট ,
সর্বোচ্চ ( পরিমান ) হিসেবে ম্যাক্সঅ্যামাউন্ট
থেকে
লেনদেন
গোষ্ঠী দ্বারা
বণিক ;
নমুনা আউটপুট:
| বণিক | লেনদেনগণনা | টোটালস্পেন্ড | গড় লেনদেনের পরিমাণ | মিনিমাউন্ট | ম্যাক্সঅ্যামাউন্ট |
|---|---|---|---|---|---|
| মার্চেন্টএইচ | 2 | 110679.81 | 55339.91 | 15607.89 | 95071.92 |
| ... | ... | ... | ... | ... | ... |
নমুনা ভিজ্যুয়ালাইজেশন:
পদক্ষেপ 8: ডেল্টা লেকের বৈশিষ্ট্যগুলি লিভারেজিং করা
8.1 পরিবর্তন ডেটা ফিড সক্ষম করুন
পরিবর্তনগুলি ট্র্যাক করতে ডেল্টা লেকের পরিবর্তন ডেটা ফিড সক্ষম করুন লেনদেন সারণী।
এসকিউএল কোড:
পরিবর্তন সারণী লেনদেন
সেট টিবিএল প্রপার্টি ( ডেল্টা . enableChangeDataFeed = সত্য ) ;
8.2 আপডেট সম্পাদন এবং ট্র্যাক পরিবর্তনগুলি সম্পাদন করুন
সংশোধনের কারণে লেনদেনের পরিমাণগুলি আপডেট করুন ও এই পরিবর্তনগুলি ট্র্যাক করুন।
এসকিউএল কোড:
- একটি লেনদেন আপডেট করুন
আধুনিকীকরণ লেনদেন
সেট পরিমান = 1300.00
যেখানে TransactionID = 'TXN1127' ;
-- লাস্ট ভার্সন চেক করুন
বর্ণনা ইতিহাস লেনদেন ;
- সঠিক টেবিল সংস্করণ সঙ্গে পরিবর্তন ডেটা ফিড ব্যবহার করে ক্যোয়ারী পরিবর্তন
নির্বাচন *
থেকে table_changes ( 'লেনদেন' , 3 )
যেখানে TransactionID = 'TXN1127' ;
- 8.3 স্কিমা বিবর্তন: নতুন কলাম যুক্ত করুন
একটি নতুন কলাম যুক্ত করুন প্রতারণার পতাকা সন্দেহভাজন প্রতারণামূলক লেনদেনকে পতাকাঙ্কিত করতে।
এসকিউএল কোড:
পরিবর্তন সারণী লেনদেন
যুক্ত কলামগুলি ( প্রতারণার পতাকা বুলিয়ান মন্তব্য 'সন্দেহভাজন জালিয়াতির ইঙ্গিত পতাকা' ) ;
8.4 প্রতারণামূলক লেনদেন আপডেট করুন
ঊর্ধ্বসীমা অতিক্রমকারী লেনদেনগুলি পতাকাঙ্কিত করুন।
এসকিউএল কোড:
আধুনিকীকরণ লেনদেন
সেট প্রতারণার পতাকা = সত্য
যেখানে পরিমান > 95071.92 ;
- 8.5 সময় ভ্রমণ এবং টেবিল পুনরুদ্ধার
টেবিলের ইতিহাস দেখুন
এসকিউএল কোড:
বর্ণনা ইতিহাস লেনদেন ;
একটি পূর্ববর্তী সংস্করণ অনুসন্ধান করুন
এসকিউএল কোড:
নির্বাচন * থেকে লেনদেন সংস্করণ হিসেবে এর 3 ;
সারণীটি পূর্ববর্তী সংস্করণে পুনরুদ্ধার করুন
এসকিউএল কোড:
পুনঃস্থাপন সারণী লেনদেন করতে সংস্করণ হিসেবে এর 3 ;
ব্যাখ্যা:
- টাইম ট্রাভেল : নিরীক্ষণ বা পুনরুদ্ধারের জন্য ডেটার পূর্ববর্তী সংস্করণগুলি অ্যাক্সেস করুন।
- সারণী পুনঃস্থাপন : অনিচ্ছাকৃত পরিবর্তনের পরে টেবিলটি একটি পরিচিত ভাল অবস্থায় ফিরিয়ে আনুন।
পদক্ষেপ 9: চূড়ান্ত সংক্ষিপ্ত প্রতিবেদন তৈরি করা
সীমা অতিক্রমকারী অ্যাকাউন্টগুলির সংক্ষিপ্তসার প্রতিবেদন তৈরি করুন এবং গড় গণনা করুন।
এসকিউএল কোড:
তৈরি সারণী account_exceeding_summary
ব্যবহার ডেল্টা
হিসেবে
নির্বাচন
একটি . অ্যাকাউন্ট আইডি ,
একটি . লেনদেনগণনা ,
একটি . TotalAmount ,
একটি . গড় পরিমাণ ,
একটি . মিনিমাউন্ট ,
একটি . ম্যাক্সঅ্যামাউন্ট ,
মামলা
যখন ই . অ্যাকাউন্ট আইডি আইএস না শূন্য তারপর 'সীমা অতিক্রম'
অন্য 'উইদিনলিমিট'
শেষ হিসেবে অবস্থা অতিক্রম করা
থেকে
account_totals একটি
বাঁদিকে যুক্ত
exceeding_accounts ই অন একটি . অ্যাকাউন্ট আইডি = ই . অ্যাকাউন্ট আইডি ;
- অতিক্রম এবং অ-অতিক্রমকারী অ্যাকাউন্টগুলির জন্য গড় গণনা করুন
নির্বাচন
অবস্থা অতিক্রম করা ,
গণনা ( অ্যাকাউন্ট আইডি ) হিসেবে হিসাব গণনা ,
এভিজি ( TotalAmount ) হিসেবে AverageTotalAmount ,
এভিজি ( গড় পরিমাণ ) হিসেবে গড় লেনদেনের পরিমাণ
থেকে
account_exceeding_summary
গোষ্ঠী দ্বারা
অবস্থা অতিক্রম করা ;
ডেল্টা লেকের বৈশিষ্ট্য ব্যবহার করা হয়েছে
- ডেল্টা টেবিল : এসিডি লেনদেন এবং স্কিমা প্রয়োগের জন্য ডেল্টা লেক ব্যবহার করে সমস্ত টেবিল তৈরি করা হয়েছে।
- টাইম ট্রাভেল : নিরীক্ষণ এবং পুনরুদ্ধারের জন্য ডেটার পূর্ববর্তী সংস্করণগুলি অ্যাক্সেস করুন।
- সারণী পুনঃস্থাপন : প্রয়োজনে টেবিলগুলি পূর্ববর্তী অবস্থায় পুনরুদ্ধার করুন।
- ডাটা ফিড পরিবর্তন করুন : ক্রমবর্ধমান প্রক্রিয়াকরণ এবং নিরীক্ষণের জন্য ডেটাতে পরিবর্তনগুলি ট্র্যাক করুন।
- স্কিমা বিবর্তন : নতুন কলাম যোগ করুন (
প্রতারণার পতাকা) বিদ্যমান ডেটা ব্যাহত না করে। - সীমাবদ্ধতা এবং চেক : স্কিমা সংজ্ঞাগুলির মাধ্যমে ডেটা অখণ্ডতা প্রয়োগ করুন।
- বিভাজন : যদিও এখানে স্পষ্টভাবে ব্যবহৃত হয় না, ডেল্টা লেক পারফরম্যান্স অপ্টিমাইজেশানের জন্য পার্টিশনিং সমর্থন করে।
ডেটা বংশ এবং ওপেনলিনেজ ইন্টিগ্রেশন
এর সাথে সমন্বিত পরিবেশে এই এসকিউএল অপারেশনগুলি কার্যকর করে ওপেন লিনিয়েজ , প্রতিটি অপারেশন বংশ মেটাডেটা উত্পন্ন করে। এই মেটাডেটা ক্যাপচার করে:
- তথ্য প্রবাহ : কীভাবে ডেটা এক টেবিল থেকে অন্য টেবিলে চলে যায় (উদাঃ, থেকে
লেনদেনকরতেঅসঙ্গতি). - রূপান্তর : ডেটাতে প্রয়োগ করা নির্দিষ্ট রূপান্তর (উদাঃ, যোগ করা
অ্যানোমালি স্ট্যাটাস). - স্কিমা পরিবর্তন : টেবিল স্কিমা পরিবর্তন (উদাঃ, যোগ করা
প্রতারণার পতাকাকলাম)। - সংস্করণ : আপডেট এবং পুনরুদ্ধারের কারণে টেবিল সংস্করণে পরিবর্তন।
বেনিফিট:
- স্বচ্ছতা : কীভাবে ডেটা প্রক্রিয়া করা হয় এবং রূপান্তরিত হয় সে সম্পর্কে স্পষ্ট ধারণা।
- অডিটিং : সম্মতি এবং নিরীক্ষণের উদ্দেশ্যে ডেটা বংশ ট্রেস করার ক্ষমতা।
- ডিবাগিং : ডেটা প্রসেসিং পাইপলাইনগুলিতে সমস্যাগুলির সহজ সনাক্তকরণ।
- অপ্টিমাইজেশান : তথ্য প্রবাহ অন্তর্দৃষ্টি কর্মক্ষমতা অপ্টিমাইজ করতে সাহায্য করতে পারেন।
উপসংহার
এই ব্যবহারের ক্ষেত্রে স্পার্ক এসকিউএল এবং ডেল্টা লেক ব্যবহার করে কীভাবে আর্থিক অসঙ্গতি সনাক্তকরণ করা যায় তা প্রদর্শন করে, সময় ভ্রমণ, ডেটা ফিড পরিবর্তন এবং স্কিমা বিবর্তনের মতো মূল বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করে। ওপেনলিনিয়েজের সাথে একীভূত করে, সমাধানটি ব্যাপক ডেটা লাইনেজ ট্র্যাকিং সরবরাহ করে, স্বচ্ছতা এবং সম্মতি বাড়ায়।
মূল টেকওয়ে:
- কার্যকর অসঙ্গতি সনাক্তকরণ : স্বাভাবিক নিদর্শন থেকে বিচ্যুত লেনদেন এবং অ্যাকাউন্টগুলি সনাক্ত করতে পরিসংখ্যানগত পদ্ধতি ব্যবহার করা।
- শক্তিশালী ডাটা ম্যানেজমেন্ট : ডেটা অখণ্ডতা নিশ্চিত করতে, স্কিমা পরিবর্তনগুলি সহজতর করতে এবং পুনরুদ্ধারের বিকল্পগুলি সক্ষম করতে ডেল্টা লেক বৈশিষ্ট্যগুলি ব্যবহার করা।
- ডেটা বংশ দৃশ্যমানতা : নিরীক্ষা এবং সম্মতির প্রয়োজনীয়তা সমর্থন করার জন্য বিস্তারিত বংশের তথ্য ক্যাপচার করা।
- বিজনেস ইনসাইটস : রিপোর্ট এবং বিশ্লেষণ তৈরি করা যা গ্রাহক আচরণ এবং সম্ভাব্য ঝুঁকিগুলিতে মূল্যবান অন্তর্দৃষ্টি সরবরাহ করে।
পরিশিষ্ট
ডেটাসেট স্কিমা
লেনদেনের টেবিল স্কিমা:
| স্তম্ভ | ডাটা টাইপ | বর্ণনা |
|---|---|---|
| লেনদেনটাইমস্ট্যাম্প | টাইমস্ট্যাম্প | লেনদেন সংঘটিত হওয়ার তারিখ এবং সময় |
| TransactionID | স্ট্রিং | লেনদেনের জন্য অনন্য শনাক্তকারী |
| অ্যাকাউন্ট আইডি | স্ট্রিং | জড়িত অ্যাকাউন্টের জন্য অনন্য শনাক্তকারী |
| পরিমান | দশমিক (18,2) | লেনদেনের আর্থিক মূল্য |
| বণিক | স্ট্রিং | লেনদেনের সাথে জড়িত বণিক |
| লেনদেনের ধরন | স্ট্রিং | লেনদেনের ধরণ (উদাঃ, ক্রয়, প্রত্যাহার) |
| অবস্থান | স্ট্রিং | অবস্থান যেখানে লেনদেন ঘটেছে |
| প্রতারণার পতাকা | বুলিয়ান | সন্দেহভাজন জালিয়াতি নির্দেশক পতাকা (পরে যোগ করা হয়েছে) |
তথ্যসূত্র: