मुख्य विषयवस्तु में जाएं

डेल्टा झील के साथ वित्तीय लेनदेन विसंगति का पता लगाना और डेटा वंश


परिचय

वित्तीय उद्योग में, लेनदेन डेटा में विसंगतियों का पता लगाना धोखाधड़ी की रोकथाम, अनुपालन और जोखिम प्रबंधन के लिए महत्वपूर्ण है। असामान्य लेनदेन राशि, अनियमित लेनदेन प्रकार और एटिपिकल पैटर्न धोखाधड़ी गतिविधियों या त्रुटियों को इंगित कर सकते हैं जिन पर तत्काल ध्यान देने की आवश्यकता होती है। बड़ी डेटा प्रौद्योगिकियों और उन्नत डेटा प्रोसेसिंग फ्रेमवर्क का लाभ उठाने से ऐसी विसंगतियों का प्रभावी ढंग से पता लगाने की क्षमता बढ़ सकती है।

सुपरसेट ilum sql transaction dashboard

यह उदाहरण एक सरलीकृत ऐसे मामले का उपयोग करें जो दर्शाता है कि वित्तीय लेनदेन विसंगति का पता लगाने का उपयोग कैसे करें स्पार्क एसक्यूएल और डेल्टा झील. समाधान भी के साथ एकीकृत करता है खुला वंश डेटा प्रोसेसिंग पाइपलाइन में विस्तृत डेटा वंश जानकारी को कैप्चर करने के लिए फ्रेमवर्क।

सूचना-विषयक

के उपयोग से एक ही बात को पूरा किया जा सकता है हिमशैल नहीं तो हुडी. हमने चुना डेल्टा क्योंकि यह इलम में एक डिफ़ॉल्ट तालिका प्रारूप है।

BI डैशबोर्ड के उपयोग के साथ किया जाता है अपाचे सुपरसेट, जो इलम में उपलब्ध मॉड्यूल में से एक है। आप इस उपयोग के मामले के लिए डैशबोर्ड पा सकते हैं यहाँ


डेटासेट विवरण

इस उपयोग के मामले में उपयोग किए गए डेटासेट में निम्नलिखित कॉलम के साथ नकली वित्तीय लेनदेन रिकॉर्ड शामिल हैं:

  • लेन-देन टाइमस्टैम्प: लेन-देन कब हुआ, इसका टाइमस्टैम्प।
  • लेन-देन आईडी: प्रत्येक लेनदेन के लिए युनीक आइडेंटिफ़ायर.
  • खाता ID: शामिल बैंक खाते के लिए युनीक आइडेंटिफ़ायर.
  • कुल धनराशि: लेन-देन का मौद्रिक मूल्य.
  • बड़ा व्‍यापारी: लेन-देन में शामिल व्यापारी या इकाई।
  • लेन-देन प्रकार: लेन-देन का प्रकार (जैसे, खरीद, निकासी, स्थानांतरण)।
  • स्थान: भौगोलिक स्थिति जहां लेनदेन हुआ था।

नमूना डेटा:

लेन-देन टाइमस्टैम्पलेन-देन आईडीखाता IDकुल धनराशिबड़ा व्‍यापारीलेन-देन प्रकारस्थान
2023-01-01 08:00:00TXN1127एसीसी495071.92मर्चेंटएचखरीदनाटोकियो
2023-01-01 08:01:00TXN1639एसीसी1015607.89मर्चेंटएचखरीदनालंदन
2023-01-01 08:02:00टीएक्सएन872एसीसी865092.34मर्चेंट ईनशा-त्‍यागलंदन
2023-01-01 08:03:00TXN2001एसीसी4500.50मर्चेंट एतबादलान्यूयार्क
2023-01-01 08:04:00TXN2002एसीसी101200.00मर्चेंटबीखरीदनापेरिस
2023-01-01 08:05:00TXN2003एसीसी8300.00मर्चेंटसीनशा-त्‍यागटोकियो

उद्देश्यों

इस उपयोग के मामले के प्राथमिक उद्देश्य हैं:

  • विसंगति का पता लगाना: उन लेनदेनों की पहचान करें जो डेटा वितरण से प्राप्त ऊपरी सीमा से अधिक राशि के आधार पर विसंगतियां हैं।
  • अनियमित लेनदेन पहचान: विशिष्ट खातों के लिए अनियमित लेनदेन प्रकारों का पता लगाएं।
  • पैटर्न पहचान: लेन-देन टाइमस्टैम्प और स्थानों के आधार पर असामान्य पैटर्न को पहचानें।
  • व्यवहार विश्लेषण: व्यापारियों के आधार पर खर्च व्यवहार ट्रैक करें.
  • सांख्यिकीय सारांश: प्रति खाता कुल लेनदेन, औसत, न्यूनतम और अधिकतम लेनदेन राशियों की गणना करें।
  • डेल्टा झील एकीकरण: डेटा प्रोसेसिंग को बढ़ाने के लिए डेल्टा झील सुविधाओं जैसे समय यात्रा, डेटा फ़ीड बदलें और स्कीमा विकास का उपयोग करें।
  • डेटा वंश ट्रैकिंग: OpenLineage फ़्रेमवर्क का उपयोग करके डेटा वंशावली कैप्चर और विज़ुअलाइज़ करें।

समाधान अवलोकन

समाधान में लेनदेन डेटा को संसाधित करने और विश्लेषण करने के लिए डेल्टा झील तालिकाओं की एक श्रृंखला बनाना शामिल है। चरणों में शामिल हैं:

  1. डेटा अंतर्ग्रहण: लेन-देन डेटा को डेल्टा लेक तालिका में लोड करें।
  2. सांख्यिकीय विश्लेषण: विसंगति थ्रेसहोल्ड को परिभाषित करने के लिए सांख्यिकीय मापदंडों की गणना करें।
  3. विसंगति का पता लगाना: उन लेनदेन और खातों की पहचान करें जो निर्धारित सीमाओं से अधिक हैं।
  4. पैटर्न विश्लेषण: अनियमित लेनदेन प्रकार और लौकिक पैटर्न का पता लगाएं।
  5. व्यवहार विश्लेषण: व्यापारियों के आधार पर खर्च व्यवहार का विश्लेषण करें।
  6. डेटा एन्हांसमेंट: डेटा अपडेट, स्कीमा विकास और समय यात्रा के लिए डेल्टा लेक सुविधाओं का उपयोग करें।
  7. प्रतिवेदन: व्यावसायिक जानकारियों के लिए सारांश रिपोर्ट जनरेट करें.
  8. डेटा वंश: पूरी पाइपलाइन में डेटा वंश को कैप्चर करने के लिए OpenLineage का लाभ उठाएं।

तकनीकी कार्यान्वयन

चरण 1: लेनदेन डेल्टा तालिका बनाएं

हम लेनदेन वित्तीय लेनदेन डेटा को संग्रहीत करने के लिए डेल्टा झील तालिका के रूप में तालिका।

एसक्यूएल कोड:

बनाना सारणी लेनदेन (
लेन-देन टाइमस्टैम्प टाइमस्टैम्प सम्‍मति देना "लेन-देन होने की तारीख और समय",
TransactionID स्ट्रिंग सम्‍मति देना "लेन-देन के लिए युनीक आइडेंटिफ़ायर",
AccountID स्ट्रिंग सम्‍मति देना "शामिल खाते के लिए युनीक आइडेंटिफ़ायर",
कुल धनराशि दशमलव भिन्‍न(18, 2) सम्‍मति देना 'लेन-देन का मौद्रिक मूल्य',
मर्चेंट स्ट्रिंग सम्‍मति देना 'लेन-देन में शामिल व्यापारी',
TransactionType STRING सम्‍मति देना "लेन-देन का प्रकार (जैसे, खरीद, निकासी)',
स्थान स्ट्रिंग सम्‍मति देना "वह स्थान जहां लेन-देन हुआ था"
)
का उपयोग करके डेल्टा
सम्‍मति देना 'वित्तीय लेन-देन वाली तालिका';

नमूना डेटा सम्मिलित करें:

सूचना-विषयक

उदाहरण फ़ाइल के लिए लिंक पाया जा सकता है यहाँ

फ़ाइल को अपने इलम इंस्टेंस से जुड़े स्टोरेज पर अपलोड करना आवश्यक है।

अंतःस्‍थापित करना अधिलेखित सारणी लेनदेन
चुनना
_c0,_c1,_c2,_c3,_c4,_c5,_c6
से सीएसवी.`s3a://ilum-data/financial_anomaly_data.csv`

ख़ुलासा:

  • डेल्टा का उपयोग करना: निर्दिष्ट करता है कि तालिका डेल्टा लेक तालिका है.
  • टिप्पणियाँ: बेहतर दस्तावेज़ीकरण और समझ के लिए मेटाडेटा प्रदान करें।

नमूना आउटपुट:

सुपरसेट ilum sql transaction dashboard

नमूना दृश्य:

सुपरसेट ilum sql transaction dashboard

चरण 2: लेन-देन राशि में विसंगतियों का पता लगाना

हमारा लक्ष्य उन लेन-देन की पहचान करना है जहां राशि के वितरण के आधार पर ऊपरी सीमा से अधिक है कुल धनराशि स्तम्भ।

2.1 सांख्यिकीय मापदंडों की गणना करें

एसक्यूएल कोड:

बनाना देखना amount_stats जैसा
चुनना
औसत(कुल धनराशि) जैसा avg_amount,
एसटीडीदेव(कुल धनराशि) जैसा stddev_amount,
शतमक(कुल धनराशि, 0.95) जैसा percentile_95
से
लेनदेन;

ख़ुलासा:

  • औसत (राशि): औसत लेन-देन राशि की गणना करता है.
  • एसटीडीदेव (राशि): मानक विचलन की गणना करता है, जो डेटा फैलाव को समझने के लिए उपयोगी है।
  • प्रतिशत(राशि, 0.95): सामान्य लेनदेन के लिए ऊपरी सीमा के रूप में उपयोग किए जाने वाले 95वें प्रतिशतक की गणना करता है।

नमूना आउटपुट:

इलम एसक्यूएल परिणाम

2.2 सीमा से अधिक लेनदेन की पहचान करें

एसक्यूएल कोड:

बनाना देखना विसंगतियों
जैसा
चुनना
लेन-देन आईडी,
खाता ID,
कुल धनराशि,
मामला
कब कुल धनराशि > (चुनना percentile_95 से amount_stats) तब 'एक्ससीडलिमिट'
के अलावा 'सीमा के भीतर'
समाप्ति जैसा विसंगतिस्थिति
से
लेनदेन;

ख़ुलासा:

  • विसंगतिस्थिति: एक नया कॉलम जो दर्शाता है कि लेन-देन सीमा से अधिक है या नहीं.

नमूना आउटपुट:

लेन-देन आईडीखाता IDकुल धनराशिविसंगतिस्थिति
TXN1127एसीसी495071.92सीमा से अधिक
............
इलम एसक्यूएल परिणाम

नमूना दृश्य:

इलम एसक्यूएल परिणाम

चरण 3: खाता सांख्यिकी की गणना

प्रति खाता कुल लेनदेन, औसत, न्यूनतम और अधिकतम लेनदेन राशि की गणना करें।

एसक्यूएल कोड:

बनाना सारणी account_totals
का उपयोग करके डेल्टा
जैसा
चुनना
खाता ID,
गिनना(लेन-देन आईडी) जैसा लेन-देन की गणना,
सवाल(कुल धनराशि) जैसा कुल राशि,
औसत(कुल धनराशि) जैसा औसत राशि,
मिनट(कुल धनराशि) जैसा न्यूनतम राशि,
अधिकतम(कुल धनराशि) जैसा अधिकतम राशि
से
लेनदेन
समूह द्वारा
खाता ID;

ख़ुलासा:

  • AccountID द्वारा समूहीकृत करें: प्रति खाता डेटा एकत्र करता है.
  • सकल कार्य: प्रत्येक खाते के लिए सांख्यिकीय उपायों की गणना करें।

नमूना आउटपुट:

खाता IDलेन-देन की गणनाकुल राशिऔसत राशिन्यूनतम राशिअधिकतम राशि
एसीसी4295572.4247786.21500.5095071.92
..................
इलम एसक्यूएल परिणाम

चरण 4: सीमा से अधिक खातों की पहचान करना

उन खातों की पहचान करें जिनमें पूर्वनिर्धारित सीमा से अधिक लेनदेन हैं।

4.1 खातों से अधिक का निर्धारण करें

एसक्यूएल कोड:

बनाना देखना exceeding_accounts जैसा
चुनना स्‍पष्‍टतया भिन्‍न खाता ID
से विसंगतियों
कहां विसंगतिस्थिति = 'एक्ससीडलिमिट';

4.2 अधिक और गैर-अधिक खातों की गणना करें

एसक्यूएल कोड:

चुनना
(चुनना गिनना(*) से exceeding_accounts) जैसा ExceedingAccounts,
(चुनना गिनना(स्‍पष्‍टतया भिन्‍न खाता ID) से लेनदेन) - (चुनना गिनना(*) से exceeding_accounts) जैसा NonExceedingAccounts;

नमूना आउटपुट:

ExceedingAccountsNonExceedingAccounts
123
इलम एसक्यूएल परिणाम

चरण 5: असामान्य अस्थायी पैटर्न को पहचानना

सामान्य व्यावसायिक घंटों के बाहर होने वाले लेन-देन का पता लगाएं (उदा., सुबह 9 बजे से शाम 5 बजे तक).

एसक्यूएल कोड:

बनाना देखना after_hours_transactions
जैसा
चुनना
*,
घंटा(लेन-देन टाइमस्टैम्प) जैसा लेन-देन का घंटा
से
लेनदेन
कहां
घंटा(लेन-देन टाइमस्टैम्प) नहीं के बीच 9 और 17;

ख़ुलासा:

  • घंटा (लेन-देन टाइमस्टैम्प): टाइमस्टैम्प से घंटा निकालता है।
  • 9 और 17 के बीच नहीं: कारोबार के खुले होने के खुले घंटों के लेन-देन को फ़िल्टर करता है.

चरण 7: व्यापारी द्वारा खर्च व्यवहार का विश्लेषण

व्यापारी इंटरैक्शन के आधार पर ग्राहक व्यवहार को समझने के लिए कुल खर्च डेटा।

एसक्यूएल कोड:

बनाना सारणी merchant_spending
का उपयोग करके डेल्टा
जैसा
चुनना
बड़ा व्‍यापारी,
गिनना(*) जैसा लेन-देन की गणना,
सवाल(कुल धनराशि) जैसा कुल खर्च,
औसत(कुल धनराशि) जैसा औसत लेन-देन राशि,
मिनट(कुल धनराशि) जैसा न्यूनतम राशि,
अधिकतम(कुल धनराशि) जैसा अधिकतम राशि
से
लेनदेन
समूह द्वारा
बड़ा व्‍यापारी;

नमूना आउटपुट:

बड़ा व्‍यापारीलेन-देन की गणनाकुल खर्चऔसत लेन-देन राशिन्यूनतम राशिअधिकतम राशि
मर्चेंटएच2110679.8155339.9115607.8995071.92
..................
इलम एसक्यूएल परिणाम

नमूना दृश्य:

इलम एसक्यूएल परिणाम

चरण 8: डेल्टा झील सुविधाओं का लाभ उठाना

8.1 परिवर्तन डेटा फ़ीड सक्षम करें

में परिवर्तनों को ट्रैक करने के लिए डेल्टा लेक के परिवर्तन डेटा फ़ीड को सक्षम करें लेनदेन सारणी।

एसक्यूएल कोड:

परिवर्तित होना सारणी लेनदेन
अस्त हो टीबीएलगुण (डेल्टा.enableChangeDataFeed = सच्चा);

8.2 अपडेट करें और परिवर्तन ट्रैक करें

सुधार के कारण लेन-देन की राशि अपडेट करें और इन परिवर्तनों को ट्रैक करें।

एसक्यूएल कोड:

- लेन-देन अपडेट करें
आधुनिकीकरणअ लेनदेन
अस्त हो कुल धनराशि = 1300.00
कहां लेन-देन आईडी = 'TXN1127';
- अंतिम संस्करण की जाँच करें
वर्णन करना इतिहास लेनदेन;
इलम एसक्यूएल परिणाम

- उचित तालिका संस्करण के साथ परिवर्तन डेटा फ़ीड का उपयोग करके क्वेरी परिवर्तन
चुनना *
से table_changes('लेनदेन', 3)
कहां लेन-देन आईडी = 'TXN1127';
इलम एसक्यूएल परिणाम

8.3 स्कीमा विकास: नया कॉलम जोड़ें

कोई नया स्तंभ जोड़ना फ्रॉड फ्लैग संदिग्ध धोखाधड़ी लेनदेन को ध्वजांकित करने के लिए।

एसक्यूएल कोड:

परिवर्तित होना सारणी लेनदेन
आगे कहना स्तंभ (फ्रॉड फ्लैग बूलियन सम्‍मति देना 'संदिग्ध धोखाधड़ी का संकेत देने वाला झंडा');

8.4 धोखाधड़ी वाले लेनदेन को अपडेट करें

ऊपरी सीमा से अधिक लेन-देन ध्वजांकित करें.

एसक्यूएल कोड:

आधुनिकीकरणअ लेनदेन
अस्त हो फ्रॉड फ्लैग = सच्चा
कहां कुल धनराशि > 95071.92;
इलम एसक्यूएल परिणाम

8.5 समय यात्रा और टेबल पुनर्स्थापना

तालिका इतिहास देखें

एसक्यूएल कोड:

वर्णन करना इतिहास लेनदेन;
इलम एसक्यूएल परिणाम
पिछले संस्करण को क्वेरी करें

एसक्यूएल कोड:

चुनना * से लेनदेन विवरण जैसा का 3;
तालिका को पिछले संस्करण में पुनर्स्थापित करें

एसक्यूएल कोड:

पुनर्स्थापित करना सारणी लेनदेन तक विवरण जैसा का 3;

ख़ुलासा:

  • समय यात्रा: ऑडिटिंग या पुनर्प्राप्ति के लिए डेटा के पिछले संस्करणों तक पहुँचें.
  • टेबल रिस्टोर: अनपेक्षित परिवर्तनों के बाद तालिका को ज्ञात अच्छी स्थिति में वापस लाएं।

चरण 9: अंतिम सारांश रिपोर्ट तैयार करना

सीमा से अधिक खातों को सारांशित करते हुए रिपोर्ट तैयार करें और औसत की गणना करें।

एसक्यूएल कोड:

बनाना सारणी account_exceeding_summary
का उपयोग करके डेल्टा
जैसा
चुनना
एक.खाता ID,
एक.लेन-देन की गणना,
एक.कुल राशि,
एक.औसत राशि,
एक.न्यूनतम राशि,
एक.अधिकतम राशि,
मामला
कब.खाता ID है नहीं शून्य तब 'एक्ससीडलिमिट'
के अलावा 'सीमा के भीतर'
समाप्ति जैसा ExceedingStatus
से
account_totals a
बाएँ जोड़
exceeding_accounts ई पर एक.खाता ID =.खाता ID;
इलम एसक्यूएल परिणाम
- अधिक और गैर-अधिक खातों के लिए औसत की गणना करें
चुनना
ExceedingStatus,
गिनना(खाता ID) जैसा खाता गणना,
औसत(कुल राशि) जैसा औसत TotalAmount,
औसत(औसत राशि) जैसा औसत लेन-देन राशि
से
account_exceeding_summary
समूह द्वारा
ExceedingStatus;
इलम एसक्यूएल परिणाम

डेल्टा झील की सुविधाएँ उपयोग की गईं

  • डेल्टा टेबल्स: सभी तालिकाओं को एसीआईडी लेनदेन और स्कीमा प्रवर्तन का लाभ उठाने के लिए डेल्टा झील का उपयोग करके बनाया गया है।
  • समय यात्रा: ऑडिटिंग और पुनर्प्राप्ति के लिए डेटा के पिछले संस्करणों तक पहुँचें.
  • टेबल रिस्टोर: यदि आवश्यक हो तो तालिकाओं को पिछली स्थिति में पुनर्स्थापित करें।
  • डेटा फ़ीड बदलें: वृद्धिशील संसाधन और अंकेक्षण के लिए डेटा में परिवर्तन ट्रैक करें.
  • स्कीमा विकास: नए कॉलम जोड़ें (फ्रॉड फ्लैग) मौजूदा डेटा को बाधित किए बिना।
  • बाधाएं और जांच: स्कीमा परिभाषाओं के माध्यम से डेटा अखंडता लागू करें।
  • विभाजन: हालांकि यहां स्पष्ट रूप से उपयोग नहीं किया गया है, डेल्टा झील प्रदर्शन अनुकूलन के लिए विभाजन का समर्थन करती है।

डेटा वंश और OpenLineage एकीकरण

के साथ एकीकृत वातावरण में इन SQL कार्यों को निष्पादित करके खुला वंश, प्रत्येक ऑपरेशन वंश मेटाडेटा उत्पन्न करता है। यह मेटाडेटा निम्न को कैप्चर करता है:

  • डेटा प्रवाह: डेटा एक तालिका से दूसरी तालिका में कैसे जाता है (उदा., लेनदेन तक विसंगतियों).
  • परिवर्तनों: डेटा पर लागू विशिष्ट परिवर्तन (जैसे, जोड़ना विसंगतिस्थिति).
  • स्कीमा परिवर्तन: तालिका स्कीमा में संशोधन (उदाहरण के लिए, जोड़ना फ्रॉड फ्लैग कॉलम)।
  • वर्ज़निंग: अद्यतन और पुनर्स्थापना के कारण तालिका संस्करणों में परिवर्तन।

लाभ:

  • पारदर्शिता: डेटा को संसाधित और रूपांतरित करने के तरीके की स्पष्ट समझ।
  • ऑडिटिंग: अनुपालन और लेखा परीक्षा उद्देश्यों के लिए डेटा वंश का पता लगाने की क्षमता।
  • डीबगिंग: डेटा प्रोसेसिंग पाइपलाइनों में मुद्दों की आसान पहचान।
  • अनुकूलन: डेटा प्रवाह में अंतर्दृष्टि प्रदर्शन को अनुकूलित करने में मदद कर सकती है।
इलम डेटा वंशावली

समाप्ति

यह उपयोग मामला दर्शाता है कि स्पार्क एसक्यूएल और डेल्टा झील का उपयोग करके वित्तीय विसंगति का पता लगाने का तरीका कैसे किया जाए, जिसमें समय यात्रा, डेटा फ़ीड और स्कीमा विकास जैसी प्रमुख विशेषताएं शामिल हैं। OpenLineage के साथ एकीकृत करके, समाधान व्यापक डेटा वंशावली ट्रैकिंग प्रदान करता है, पारदर्शिता और अनुपालन को बढ़ाता है।

चाबी छीन लेना:

  • प्रभावी विसंगति का पता लगाना: सामान्य पैटर्न से विचलित होने वाले लेनदेन और खातों की पहचान करने के लिए सांख्यिकीय तरीकों का उपयोग करना।
  • मजबूत डेटा प्रबंधन: डेटा अखंडता सुनिश्चित करने, स्कीमा परिवर्तनों को सुविधाजनक बनाने और पुनर्प्राप्ति विकल्पों को सक्षम करने के लिए डेल्टा झील सुविधाओं का लाभ उठाना।
  • डेटा वंश दृश्यता: ऑडिटिंग और अनुपालन आवश्यकताओं का समर्थन करने के लिए विस्तृत वंश जानकारी कैप्चर करना।
  • व्यापार अंतर्दृष्टि: रिपोर्ट और विश्लेषण तैयार करना जो ग्राहक व्यवहार और संभावित जोखिमों में मूल्यवान अंतर्दृष्टि प्रदान करते हैं।

परिशिष्ट

डेटासेट स्कीमा

लेनदेन तालिका स्कीमा:

स्तम्भडेटा प्रकारया क़िस्‍म
लेन-देन टाइमस्टैम्पटाइमस्टैम्पलेन-देन होने की दिनांक और समय
लेन-देन आईडीतारलेन-देन के लिए युनीक आइडेंटिफ़ायर
खाता IDतारशामिल खाते के लिए युनीक आइडेंटिफ़ायर
कुल धनराशिडेसिमल(18,2)लेन-देन का मौद्रिक मूल्य
बड़ा व्‍यापारीतारलेन-देन में शामिल व्यापारी
लेन-देन प्रकारतारलेन-देन का प्रकार (जैसे, खरीद, निकासी)
स्थानतारवह स्थान जहां लेन-देन हुआ
फ्रॉड फ्लैगबूलियनसंदिग्ध धोखाधड़ी का संकेत देने वाला ध्वज (बाद में जोड़ा गया)

संदर्भ: