BigQuery और Looker का इस्तेमाल करके, Bigtable में क्रेडिट कार्ड के लेन-देन के डेटा का विश्लेषण करना और उसे विज़ुअलाइज़ करना

1. खास जानकारी

इस कोडलैब में, Bigtable में लिखे जा रहे क्रेडिट कार्ड के लेन-देन के डेटा की स्ट्रीम का विश्लेषण करने का तरीका बताया गया है. आपको Bigtable की बदलाव स्ट्रीम से BigQuery टेंप्लेट का इस्तेमाल करके, रीयल-टाइम में डेटा एक्सपोर्ट करने का तरीका बताया जाएगा. इसके बाद, आपको बदलाव के स्ट्रीम लॉग को क्वेरी करने के तरीके और Looker का इस्तेमाल करके डैशबोर्ड बनाने के लिए, डेटा को फिर से फ़ॉर्मैट करने का तरीका दिखेगा.

यह कोडलैब, तकनीकी उपयोगकर्ताओं के लिए है. इन्हें Bigtable, कमांड लाइन टूल, और इवेंट स्ट्रीमिंग सेवाओं के बारे में जानकारी है.

426dc59200875a20.png

इस कोडलैब में, आपको ये काम करने का तरीका बताया गया है:

  • बदलाव की स्ट्रीम की सुविधा चालू करके, Bigtable टेबल बनाएं.
  • BigQuery डेटासेट बनाएं.
  • Dataflow टेंप्लेट Bigtable change streams to BigQuery. डिप्लॉय करना
  • BigQuery में इवेंट स्ट्रीम के लिए क्वेरी करें.
  • Looker की मदद से, इवेंट स्ट्रीम को विज़ुअलाइज़ करें.

इस डायग्राम में, उस सिस्टम के आर्किटेक्चर के बारे में बताया गया है जिसे आपको डिप्लॉय करना है.

336e940307d0e0a.png

2. प्रोजेक्ट सेटअप करना

  1. Google Cloud Console में, प्रोजेक्ट चुनने वाले पेज पर जाकर, Google Cloud प्रोजेक्ट बनाएं या कोई प्रोजेक्ट चुनें.

eb5309715175de69.png

  1. पक्का करें कि आपके Google Cloud प्रोजेक्ट के लिए, बिलिंग चालू हो.
  2. Dataflow, Bigtable, BigQuery, Looker, और Cloud Storage के लिए ज़रूरी एपीआई चालू करने के लिए, एपीआई चालू करने वाले इस पेज पर जाएं.

3. BigQuery डेटासेट बनाना

इस कोडलैब में बाद में, BigQuery का इस्तेमाल करके डेटा का विश्लेषण किया जाएगा. अपनी डेटा पाइपलाइन के आउटपुट के लिए डेटासेट बनाने के लिए, इन निर्देशों का पालन करें.

  1. Google Cloud Console में, BigQuery पेज पर जाएं.
  2. एक्सप्लोरर पैनल में, अपने प्रोजेक्ट का नाम ढूंढें. इसके बाद, ओवरफ़्लो मेन्यू (प्रोजेक्ट आईडी के बगल में मौजूद तीन वर्टिकल बिंदु) पर क्लिक करें.
  3. डेटासेट बनाएं पर क्लिक करें.

122bc1a411b8dc63.png

  1. डेटासेट बनाएं पैनल में, यह तरीका अपनाएं:
  • डेटासेट आईडी के लिए, bigtable_bigquery_tutorial डालें.
  • बची हुई डिफ़ॉल्ट सेटिंग में कोई बदलाव न करें.
  • डेटासेट बनाएं पर क्लिक करें.

4. बदलावों की स्ट्रीम की सुविधा चालू करके, Bigtable टेबल बनाना

Bigtable, कम समय में जवाब देने वाली और हॉरिज़ॉन्टली स्केल की जा सकने वाली NoSQL डेटाबेस सेवा है. इसका इस्तेमाल, वित्तीय डेटा को मैनेज करने के लिए किया जाता है. यहां आपको एक ऐसी टेबल बनानी है जिसमें क्रेडिट कार्ड से किए गए लेन-देन की जानकारी सेव की जा सके. Bigtable, दुनिया भर में होने वाले लेन-देन के डेटा को तेज़ी से प्रोसेस कर सकता है. साथ ही, इस डेटा का इस्तेमाल रीयल-टाइम में धोखाधड़ी का पता लगाने के लिए भी किया जा सकता है.

  1. Google Cloud Console में, Bigtable इंस्टेंस पेज पर जाएं.
  2. उस इंस्टेंस के आईडी पर क्लिक करें जिसका इस्तेमाल इस ट्यूटोरियल के लिए किया जा रहा है. अगर आपके पास कोई इंस्टेंस उपलब्ध नहीं है, तो अपने आस-पास के इलाके में अपनी पसंद के नाम से एक इंस्टेंस बनाएं. बाकी सभी के लिए, डिफ़ॉल्ट कॉन्फ़िगरेशन का इस्तेमाल किया जा सकता है.

a2e8de7b66dc42e.png

  1. बाईं ओर मौजूद नेविगेशन पैनल में, टेबल पर क्लिक करें.
  2. टेबल बनाएं पर क्लिक करें.

9c267c00f93747c4.png

  • टेबल को नाम दें retail-database.
  • transactions नाम की एक कॉलम फ़ैमिली जोड़ें.
  • बदलावों की स्ट्रीम चालू करें को चुनें.
  • कचरा इकट्ठा करने की नीति और रखरखाव की अवधि को उनकी डिफ़ॉल्ट वैल्यू के साथ छोड़ दें.
  • बनाएं पर क्लिक करें.

696cd1399c354816.png

5. बदलाव की स्ट्रीम को कैप्चर करने के लिए, डेटा पाइपलाइन शुरू करना

Bigtable की परफ़ॉर्मेंस, पॉइंट रीड और लाइन रेंज स्कैन के लिए सबसे अच्छी होती है. हालांकि, टेबल-वाइड ऐनलिटिक्स से, सर्विंग कैपेसिटी और सीपीयू संसाधनों पर असर पड़ सकता है. BigQuery, टेबल के हिसाब से डेटा का विश्लेषण करने के लिए सबसे अच्छा टूल है. इसलिए, यहां डुअल राइट का इस्तेमाल किया जाएगा. इसका मतलब है कि आपको अपना डेटा Bigtable और BigQuery में लिखना होगा. यह एक सामान्य तकनीक है. इसके लिए, आपको अतिरिक्त कोडिंग करने की ज़रूरत नहीं होगी, क्योंकि आपको Bigtable change streams to BigQuery Dataflow टेंप्लेट का इस्तेमाल करना होगा: जब डेटा को Bigtable में लिखा जाता है, तो पाइपलाइन BigQuery में बदलाव का रिकॉर्ड लिखेगी. BigQuery में डेटा मौजूद होने पर, पूरे डेटासेट पर ऑप्टिमाइज़ की गई क्वेरी की जा सकती हैं. इससे Bigtable में मौजूद डेटा की परफ़ॉर्मेंस पर कोई असर नहीं पड़ेगा.

f4cd9d8faf10ce77.png

  1. Bigtable के टेबल पेज पर, अपनी टेबल retail-database ढूंढें.
  2. बदलाव का स्ट्रीम कॉलम में, कनेक्ट करें पर क्लिक करें.
  3. Dataflow से कनेक्ट करें डायलॉग बॉक्स में, BigQuery चुनें.
  4. डेटाफ़्लो जॉब बनाएं पर क्लिक करें.
  5. पैरामीटर के लिए दिए गए फ़ील्ड में, पैरामीटर की वैल्यू डालें. आपको कोई भी वैकल्पिक पैरामीटर देने की ज़रूरत नहीं है.
  • Cloud Bigtable ऐप्लिकेशन प्रोफ़ाइल आईडी को default पर सेट करें.
  • BigQuery डेटासेट को bigtable_bigquery_tutorial पर सेट करें.
  1. जॉब चलाएं पर क्लिक करें.
  2. आगे बढ़ने से पहले, नौकरी का स्टेटस शुरू हो रहा है या चल रहा है होने तक इंतज़ार करें. जॉब को सूची में शामिल करने के बाद, इसमें करीब पांच मिनट लग सकते हैं. पेज अपने-आप अपडेट हो जाएगा. यह टेंप्लेट एक स्ट्रीमिंग जॉब बनाता है. इसलिए, यह Bigtable में लिखे गए नए डेटा को लगातार प्रोसेस कर सकता है. ऐसा तब तक होता है, जब तक जॉब को मैन्युअल तरीके से बंद नहीं किया जाता.

a04908b37c6fe96b.png

6. Bigtable में कुछ डेटा लिखना

अब आपको क्रेडिट कार्ड से किए गए एक साल के लेन-देन की जानकारी, अपनी Bigtable टेबल में लिखनी होगी. इस उदाहरण डेटासेट में क्रेडिट कार्ड नंबर, कारोबारी या कंपनी का नाम और आईडी, और रकम जैसी जानकारी शामिल है. क्रेडिट कार्ड से पेमेंट की प्रोसेस करने वाले किसी ऐप्लिकेशन में, यह डेटा हर लेन-देन के साथ रीयल टाइम में आपके डेटाबेस में स्ट्रीम होता है.

  1. क्लाउड कंसोल के सबसे ऊपर दाएं कोने में मौजूद बटन पर क्लिक करके, Cloud Shell खोलें.

f6395329b04ecb64.png

  1. अगर प्रॉम्प्ट मिलता है, तो Cloud Shell को अनुमति देने के लिए प्रॉम्प्ट स्वीकार करें.
  2. डेटासेट डाउनलोड करें.
gsutil cp gs://cloud-bigtable-public-datasets/change-streams-tutorial/cc-transactions-2023.csv .
  1. कमांड लाइन में अपने एनवायरमेंट वैरिएबल सेट करना
PROJECT_ID=your-project-id
BIGTABLE_INSTANCE_ID=your-bigtable-instance-id
  1. cbt CLI का इस्तेमाल करके, retail-database टेबल में क्रेडिट कार्ड से किए गए कई लेन-देन की जानकारी लिखें.
cbt -instance=$BIGTABLE_INSTANCE_ID -project=$PROJECT_ID import \
retail-database cc-transactions-2023.csv  column-family=transactions

आउटपुट में यह दिखेगा

Done importing 10000 rows.

7. BigQuery में बदलाव के लॉग देखना

  1. Google Cloud Console में, BigQuery पेज पर जाएं.
  2. एक्सप्लोरर पैनल में, अपने प्रोजेक्ट और डेटासेट bigtable_bigquery_tutorial को बड़ा करें.
  3. टेबल retail-database_changelog पर क्लिक करें. अगर टेबल मौजूद नहीं है, तो आपको डेटासेट रीफ़्रेश करना पड़ सकता है.
  4. बदलाव लॉग देखने के लिए, झलक देखें पर क्लिक करें.

aa97ff01f944832.png

कुछ क्वेरी डालकर देखें

अब इस डेटासेट पर कुछ क्वेरी चलाकर, अहम जानकारी पाई जा सकती है. यहां एसक्यूएल क्वेरी दी गई हैं. हालांकि, BigQuery में Bigtable के बदलाव के लॉग की क्वेरी करना दस्तावेज़ में, बदलाव के लॉग डेटा के लिए क्वेरी लिखने के तरीके के बारे में ज़्यादा जानकारी दी गई है.

किसी एक लेन-देन की जानकारी देखना

किसी एक लेन-देन का डेटा देखने के लिए, यहां दी गई क्वेरी का इस्तेमाल करें.

SELECT *
FROM `bigtable_bigquery_tutorial.retail-database_changelog`
WHERE row_key="3034-442694-3052#2023-03-03T14:50:46.824Z"

आपको दिखेगा कि BigQuery में, लिखी गई हर कॉलम की वैल्यू को एक अलग लाइन में बदल दिया गया है.

हर कैटगरी में की गई खरीदारी की संख्या देखना

हर कैटगरी के हिसाब से खरीदारी की संख्या का पता लगाने के लिए, इस क्वेरी का इस्तेमाल करें.

SELECT value as category, count(*) as `number of sales`
FROM `bigtable_bigquery_tutorial.retail-database_changelog`
WHERE column="category"
GROUP BY category

डेटा को फिर से फ़ॉर्मैट करना

हर लेन-देन को BigQuery टेबल की एक लाइन में फिर से बनाने के लिए, डेटा को पिवट करें. इसके बाद, उस नतीजे को नई टेबल में सेव करें. इस फ़ॉर्मैट में क्वेरी करना ज़्यादा आसान होता है.

CREATE VIEW bigtable_bigquery_tutorial.retail_transactions_view AS (
    SELECT *, parse_numeric(amount) as sales_dollars FROM (
      SELECT row_key, timestamp, column, value
      FROM `bigtable_bigquery_tutorial.retail-database_changelog`
      )
      PIVOT (
      MAX(value)
      FOR column in ("merchant", "amount", "category", "transaction_date")
    )
)

Looker डैशबोर्ड बनाना

  1. नए व्यू की ज़्यादा जानकारी वाले पेज पर जाने के लिए, व्यू पर जाएं पर क्लिक करें.
  2. एक्सपोर्ट करें पर क्लिक करें.
  3. Looker Studio की मदद से एक्सप्लोर करें को चुनें

bb45482e9101b0f.png

8. डैशबोर्ड में चार्ट जोड़ना

अब जानकारी को ग्राफ़ में दिखाया जा सकता है, ताकि उसे आसानी से समझा जा सके. साथ ही, उसे रिपोर्ट के तौर पर शेयर किया जा सके. आपको अपने डैशबोर्ड में तीन चार्ट जोड़ने हैं:

  • समय के साथ लेन-देन की रकम
  • हर कारोबारी या कंपनी के लिए कुल लेन-देन
  • हर कैटगरी के लेन-देन का प्रतिशत

426dc59200875a20.png

पेज सेट अप करना

  1. मौजूदा हर चार्ट पर क्लिक करें और उन्हें हटाने के लिए, मिटाएं बटन दबाएं.
  2. पेज की दाईं ओर मौजूद, प्रॉपर्टी चुनें, ताकि ग्राफ़ के डेटा में बदलाव किया जा सके.

चार्ट जोड़ना

समय के साथ लेन-देन की रकम

  1. कोई चार्ट जोड़ें पर क्लिक करें और टाइम सीरीज़ चार्ट बनाएं.
  2. डाइमेंशन को transaction_date पर सेट करें.
  1. मेट्रिक को sales_dollars पर सेट करें.

372bdf2a2bcdb817.png

हर कारोबारी या कंपनी के लिए कुल लेन-देन

  1. कोई चार्ट जोड़ें पर क्लिक करें और एक टेबल बनाएं.
  2. डाइमेंशन को merchant पर सेट करें.
  3. Metric को sales_dollars पर सेट करें

हर कैटगरी के लेन-देन का प्रतिशत

  1. चार्ट जोड़ें पर क्लिक करें और पाई चार्ट बनाएं.
  2. डाइमेंशन को category पर सेट करें.
  3. Metric को sales_dollars पर सेट करें

रीयल-टाइम में किए गए बदलाव देखना

कुछ समय निकालकर, ग्राफ़ में मौजूद वैल्यू देखें. टेबल में मौजूद किसी खास कारोबारी या कंपनी या किसी खास कैटगरी पर क्लिक किया जा सकता है. इससे सभी चार्ट, उन खास वैल्यू के हिसाब से फ़िल्टर हो जाएंगे. इससे आपको ज़्यादा अहम जानकारी मिलेगी. इसके बाद, ज़्यादा डेटा लिखें और देखें कि यह ग्राफ़ रीयल टाइम में कैसे अपडेट होता है.

  1. Cloud Shell पर वापस जाएं.
  2. दूसरे डेटासेट को डाउनलोड और लिखें.
gsutil cp gs://cloud-bigtable-public-datasets/change-streams-tutorial/cc-transactions-2024-jan.csv .

cbt -instance=$BIGTABLE_INSTANCE_ID -project=$PROJECT_ID import \
retail-database cc-transactions-2024-jan.csv  column-family=transactions
  1. अपने Looker डैशबोर्ड पर वापस जाएं और Ctrl+Shift+E कमांड का इस्तेमाल करके डेटा रीफ़्रेश करें. इसके अलावा, व्यू मेन्यू में जाकर डेटा रीफ़्रेश करें पर क्लिक करें. अब आपको चार्ट में जनवरी 2024 का डेटा दिखेगा.

इसके अलावा, कई तरह के ग्राफ़ और मेट्रिक बनाई जा सकती हैं. ज़्यादा जानकारी के लिए, Looker का दस्तावेज़ पढ़ें.

9. व्यवस्थित करें

इस ट्यूटोरियल में इस्तेमाल किए गए संसाधनों के लिए, अपने Google Cloud खाते से शुल्क न लिए जाने के लिए, संसाधनों वाला प्रोजेक्ट मिटाएं. इसके अलावा, प्रोजेक्ट को बनाए रखने और अलग-अलग संसाधनों को मिटाने का विकल्प भी है.

बदलावों की स्ट्रीम करने वाली पाइपलाइन को रोकना

  1. Google Cloud Console में, Dataflow जॉब पेज पर जाएं.
  2. नौकरी की सूची में से, स्ट्रीमिंग से जुड़ी नौकरी चुनें.
  3. नेविगेशन में, बंद करें पर क्लिक करें.
  4. 'जॉब रोकें' डायलॉग में, रद्द करें को चुनें. इसके बाद, जॉब रोकें पर क्लिक करें.

Bigtable के संसाधन मिटाना

अगर आपने इस ट्यूटोरियल के लिए कोई Bigtable इंस्टेंस बनाया है, तो उसे मिटाया जा सकता है. इसके अलावा, बनाई गई टेबल को भी मिटाया जा सकता है.

  1. Google Cloud Console में, Bigtable इंस्टेंस पेज पर जाएं.
  2. उस इंस्टेंस के आईडी पर क्लिक करें जिसका इस्तेमाल इस ट्यूटोरियल के लिए किया जा रहा है.
  3. बाईं ओर मौजूद नेविगेशन पैनल में, टेबल पर क्लिक करें.
  4. retail-database टेबल ढूंढें.
  5. बदलाव करें पर क्लिक करें.
  6. बदलावों के स्ट्रीम को चालू करें को अनचेक करें.
  7. सेव करें पर क्लिक करें.
  8. टेबल के लिए ओवरफ़्लो मेन्यू खोलें.
  9. पुष्टि करने के लिए, मिटाएं पर क्लिक करें और टेबल का नाम डालें.
  10. ज़रूरी नहीं: अगर आपने इस ट्यूटोरियल के लिए कोई नया इंस्टेंस बनाया है, तो उसे मिटाएं

BigQuery डेटासेट मिटाना

  1. Google Cloud Console में, BigQuery पेज पर जाएं.
  2. एक्सप्लोरर पैनल में, डेटासेट bigtable_bigquery_tutorial ढूंढें और उस पर क्लिक करें.
  3. मिटाएं पर क्लिक करें. इसके बाद, मिटाएं टाइप करें और पुष्टि करने के लिए मिटाएं पर क्लिक करें.

आगे क्या करना है