BigQuery कोडलैब में एआई एजेंट की मदद से डेटा तैयार करना

1. परिचय

कल्पना करें कि आपको कोडिंग के बारे में ज़्यादा जानकारी नहीं है, लेकिन फिर भी आपको डेटा को तेज़ी से और आसानी से ऐनलाइज़ करने की सुविधा मिल रही है. BigQuery डेटा तैयार करने की सुविधा की मदद से, ऐसा किया जा सकता है. इस बेहतर सुविधा की मदद से, डेटा को आसानी से इकट्ठा, ट्रांसफ़ॉर्म, और साफ़ किया जा सकता है. इससे, आपके संगठन के सभी डेटा प्रैक्टिशनर को डेटा तैयार करने में मदद मिलती है.

क्या आप अपने प्रॉडक्ट डेटा में छिपी जानकारी को समझने के लिए तैयार हैं?

ज़रूरी शर्तें

  • Google Cloud Console की बुनियादी जानकारी
  • एसक्यूएल की बुनियादी जानकारी

आपको क्या सीखने को मिलेगा

  • BigQuery में डेटा तैयार करने की सुविधा का इस्तेमाल करके, रॉ डेटा को कारोबार से जुड़ी अहम जानकारी में कैसे बदला जा सकता है. इसके लिए, फ़ैशन और ब्यूटी इंडस्ट्री का एक उदाहरण दिया गया है.
  • साफ़ किए गए डेटा के लिए, डेटा तैयार करने की प्रोसेस को चलाने और शेड्यूल करने का तरीका

आपको इन चीज़ों की ज़रूरत होगी

  • Google Cloud खाता और Google Cloud प्रोजेक्ट
  • कोई वेब ब्राउज़र, जैसे कि Chrome

2. बुनियादी सेटअप और ज़रूरी शर्तें

अपने हिसाब से एनवायरमेंट सेट अप करना

  1. Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से कोई Gmail या Google Workspace खाता नहीं है, तो आपको एक खाता बनाना होगा.

fbef9caa1602edd0.pnga99b7ace416376c4.png5e3ff691252acf41.png

  • प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों के लिए डिसप्ले नेम होता है. यह एक वर्ण स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करते हैं. इसे कभी भी अपडेट किया जा सकता है.
  • प्रोजेक्ट आईडी, सभी Google Cloud प्रोजेक्ट के लिए यूनीक होता है. साथ ही, इसे बदला नहीं जा सकता. Cloud Console, अपने-आप एक यूनीक स्ट्रिंग जनरेट करता है. आम तौर पर, आपको इससे कोई फ़र्क़ नहीं पड़ता कि यह क्या है. ज़्यादातर कोडलैब में, आपको अपने प्रोजेक्ट आईडी (आम तौर पर PROJECT_ID के तौर पर पहचाना जाता है) का रेफ़रंस देना होगा. अगर आपको जनरेट किया गया आईडी पसंद नहीं है, तो आपके पास कोई दूसरा रैंडम आईडी जनरेट करने का विकल्प होता है. इसके अलावा, आपके पास अपना नाम आज़माने का विकल्प भी है. इससे आपको पता चलेगा कि वह नाम उपलब्ध है या नहीं. इस चरण के बाद, इसे बदला नहीं जा सकता. यह प्रोजेक्ट की अवधि तक बना रहता है.
  • आपकी जानकारी के लिए बता दें कि एक तीसरी वैल्यू भी होती है, जिसे प्रोजेक्ट नंबर कहते हैं. इसका इस्तेमाल कुछ एपीआई करते हैं. इन तीनों वैल्यू के बारे में ज़्यादा जानने के लिए, दस्तावेज़ देखें.
  1. इसके बाद, Cloud संसाधनों/एपीआई का इस्तेमाल करने के लिए, आपको Cloud Console में बिलिंग चालू करनी होगी. इस कोडलैब को पूरा करने में ज़्यादा खर्च नहीं आएगा. इस ट्यूटोरियल के बाद बिलिंग से बचने के लिए, संसाधनों को शट डाउन करें. इसके लिए, बनाए गए संसाधनों को मिटाएं या प्रोजेक्ट को मिटाएं. Google Cloud के नए उपयोगकर्ताओं को, 300 डॉलर का क्रेडिट मुफ़्त में आज़माने का प्रोग्राम मिलता है.

3. शुरू करने से पहले

एपीआई चालू करना

BigQuery में Gemini का इस्तेमाल करने के लिए, आपको Gemini for Google Cloud API चालू करना होगा. आम तौर पर, यह चरण सेवा एडमिन या प्रोजेक्ट के मालिक के पास मौजूद serviceusage.services.enable आईएएम की अनुमति की मदद से पूरा किया जाता है.

  1. Gemini for Google Cloud API चालू करने के लिए, Google Cloud Marketplace में Gemini for Google Cloud पेज पर जाएं. Google Cloud के लिए Gemini पर जाएं
  2. प्रोजेक्ट चुनने वाले टूल में जाकर, कोई प्रोजेक्ट चुनें.
  3. चालू करें पर क्लिक करें. पेज अपडेट हो जाता है और चालू है की स्थिति दिखाता है. Gemini in BigQuery अब चुने गए Google Cloud प्रोजेक्ट में उन सभी उपयोगकर्ताओं के लिए उपलब्ध है जिनके पास ज़रूरी IAM अनुमतियां हैं.

डेटा तैयार करने के लिए भूमिकाएं और अनुमतियां सेट अप करना

  1. IAM और एडमिन में जाकर, IAM चुनें

4477412d79f29e0b.png

  1. अपने उपयोगकर्ता को चुनें और ‘मुख्य उपयोगकर्ता के तौर पर बदलाव करें' के लिए पेंसिल आइकॉन पर क्लिक करें

5eb558e04ad12362.png

BigQuery डेटा तैयारी की सुविधा का इस्तेमाल करने के लिए, आपके पास ये भूमिकाएं और अनुमतियां होनी चाहिए:

4. BigQuery Analytics Hub में "bq data preparation demo" लिस्टिंग को ढूंढना और उसकी सदस्यता लेना

इस ट्यूटोरियल के लिए, हम bq data preparation demo डेटासेट का इस्तेमाल करेंगे. यह BigQuery Analytics Hub में लिंक किया गया डेटासेट है. हम इससे डेटा पढ़ेंगे.

डेटा तैयार करने की सुविधा, सोर्स में कभी भी डेटा वापस नहीं लिखती है. इसलिए, हम आपसे डेस्टिनेशन टेबल तय करने के लिए कहेंगे, ताकि उसमें डेटा लिखा जा सके. इस टेबल में सिर्फ़ 1,000 लाइनें हैं, ताकि लागत कम रहे. हालांकि, डेटा तैयार करने की प्रोसेस BigQuery पर चलती है और यह प्रोसेस, डेटा के साथ-साथ बढ़ती जाएगी.

लिंक किए गए डेटासेट को ढूंढने और उसकी सदस्यता लेने के लिए, यह तरीका अपनाएं:

  1. Analytics Hub को ऐक्सेस करना: Google Cloud Console में, BigQuery पर जाएं.
  2. BigQuery के नेविगेशन मेन्यू में, "गवर्नेंस" में जाकर,"Analytics Hub" चुनें.

6ddfac4dd863ca7b.png

  1. लिस्टिंग खोजें: Analytics हब के यूज़र इंटरफ़ेस (यूआई) में, लिस्टिंग खोजें पर क्लिक करें."
  2. खोज बार में bq data preparation demo लिखें और Enter दबाएं.

7e0cb82b80174cdc.png

  1. लिस्टिंग की सदस्यता लें: खोज के नतीजों में से bq data preparation demo लिस्टिंग चुनें.
  2. लिस्टिंग की ज़्यादा जानकारी वाले पेज पर, सदस्यता लें बटन पर क्लिक करें.
  3. पुष्टि करने वाले किसी भी डायलॉग बॉक्स की समीक्षा करें. अगर ज़रूरी हो, तो प्रोजेक्ट/डेटासेट अपडेट करें. डिफ़ॉल्ट वैल्यू सही होनी चाहिए.

2ef0ac1e3557f2f9.png

  1. BigQuery में डेटासेट ऐक्सेस करना: सदस्यता लेने के बाद, लिस्टिंग में मौजूद डेटासेट आपके BigQuery प्रोजेक्ट से लिंक हो जाएंगे.

BigQuery Studio पर वापस जाएं.

5. डेटा एक्सप्लोर करना और डेटा तैयार करने की प्रोसेस शुरू करना

  1. डेटासेट और टेबल ढूंढें: Explorer पैनल में, अपना प्रोजेक्ट चुनें. इसके बाद, वह डेटासेट ढूंढें जिसे bq data preparation demo लिस्टिंग में शामिल किया गया था. stg_product टेबल चुनें.
  2. डेटा तैयारी में खोलें: टेबल के नाम के बगल में मौजूद तीन वर्टिकल डॉट पर क्लिक करें और Open in Data Preparation चुनें.

इससे डेटा तैयारी इंटरफ़ेस में टेबल खुल जाएगी. अब डेटा को ट्रांसफ़ॉर्म किया जा सकता है.

76ace3d4b5cfc2d0.png

नीचे दी गई डेटा की झलक में, आपको डेटा से जुड़ी कुछ समस्याएं दिखेंगी. हम इन समस्याओं को हल करेंगे. इनमें ये समस्याएं शामिल हैं:

  • कीमत वाले कॉलम में, कीमत और मुद्रा, दोनों की जानकारी शामिल है. इस वजह से, विश्लेषण करना मुश्किल हो रहा है.
  • प्रॉडक्ट कॉलम में, प्रॉडक्ट का नाम और कैटगरी को एक साथ दिखाया जाता है. इन्हें पाइप सिंबल | से अलग किया जाता है.

f4d93aa59a56447a.png

Gemini तुरंत आपके डेटा का विश्लेषण करता है और कई ट्रांसफ़ॉर्मेशन के सुझाव देता है. इस उदाहरण में, हमें कई सुझाव दिख रहे हैं. अगले चरणों में, हम उन फ़िल्टर को लागू करेंगे जिनकी हमें ज़रूरत है.

fd4d14e4fa3c31c1.png

6. कीमत वाले कॉलम को मैनेज करना

आइए, कीमत कॉलम के बारे में जानते हैं. जैसा कि हमने देखा, इसमें मुद्रा और रकम, दोनों शामिल होती हैं. हमारा लक्ष्य, इन्हें दो अलग-अलग कॉलम में बांटना है:मुद्रा और रकम.

Gemini ने कीमत कॉलम के लिए कई सुझाव दिए हैं.

  1. ऐसा सुझाव ढूंढें जिसमें कुछ ऐसा लिखा हो:

ब्यौरा: "यह एक्सप्रेशन, तय किए गए फ़ील्ड से ‘USD ' को हटाता है"

REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
  1. झलक देखें को चुनें

c9327cfbd32247d6.png

  1. लागू करें चुनें

इसके बाद, कीमत कॉलम के लिए, डेटा टाइप को STRING से NUMERIC में बदलें.

  1. ऐसा सुझाव ढूंढें जिसमें कुछ ऐसा लिखा हो:

ब्यौरा: "Converts column Price from type string to float64"

SAFE_CAST(Price AS float64)
  1. 'लागू करें' को चुनें.

अब आपको अपनी चरण सूची में, लागू किए गए तीन चरण दिखेंगे.

d3359af47dce0c15.png

7. प्रॉडक्ट कॉलम को मैनेज करना

प्रॉडक्ट कॉलम में, प्रॉडक्ट का नाम और कैटगरी, दोनों शामिल हैं. इन्हें पाइप (|) से अलग किया गया है.

हम नैचुरल लैंग्वेज का फिर से इस्तेमाल कर सकते हैं. हालांकि, आइए Gemini की एक और बेहतरीन सुविधा के बारे में जानें.

प्रॉडक्ट का नाम हटाना

  1. प्रॉडक्ट एंट्री के कैटगरी वाले हिस्से को चुनें. इसमें | वर्ण भी शामिल है. इसके बाद, इसे मिटाएं.

5171d598a8cb3a75.png

Gemini इस पैटर्न को समझदारी से पहचान लेगा और पूरे कॉलम पर लागू करने के लिए, डेटा में बदलाव करने का सुझाव देगा.

  1. "बदलाव करें" को चुनें.

b36cac918b4f30e9.png

Gemini का सुझाव सही है: यह ‘|' वर्ण के बाद मौजूद सभी वर्णों को हटा देता है. इससे प्रॉडक्ट का नाम अलग हो जाता है.

हालांकि, इस बार हमें अपने ओरिजनल डेटा को ओवरराइट नहीं करना है.

  1. टारगेट कॉलम के ड्रॉपडाउन में, "नया कॉलम बनाएं" चुनें.
  2. नाम को ProductName पर सेट करें.

bda19e0e5e536ccd.png

  1. बदलावों की झलक देखें, ताकि यह पक्का किया जा सके कि सब कुछ ठीक दिख रहा है.
  2. बदलाव लागू करें.

प्रॉडक्ट कैटगरी की जानकारी निकालना

नैचुरल लैंग्वेज का इस्तेमाल करके, हम Gemini को यह निर्देश देंगे कि प्रॉडक्ट कॉलम में पाइप (|) के बाद मौजूद शब्द को एक्सट्रैक्ट करे. निकाली गई इस वैल्यू को, प्रॉडक्ट नाम वाले मौजूदा कॉलम में बदल दिया जाएगा.

  1. नया ट्रांसफ़ॉर्मेशन चरण जोड़ने के लिए, Add Step पर क्लिक करें.

77944047e698494c.png

  1. ड्रॉपडाउन मेन्यू से Transformation चुनें
  2. नैचुरल लैंग्वेज प्रॉम्प्ट वाले फ़ील्ड में, "प्रॉडक्ट कॉलम में पाइप (|) के बाद मौजूद शब्द निकालो." डालें. इसके बाद, एसक्यूएल जनरेट करने के लिए रिटर्न दबाएं.

82efc2447a3210bd.png

  1. टारगेट कॉलम को "प्रॉडक्ट" के तौर पर ही रहने दें.
  2. लागू करें पर क्लिक करें.

ट्रांसफ़ॉर्मेशन से आपको ये नतीजे मिलने चाहिए.

d741c66d9e0e8e00.png

8. डेटा को बेहतर बनाने के लिए जोड़ना

अक्सर, आपको अपने डेटा को अन्य सोर्स से मिली जानकारी के साथ बेहतर बनाना होता है. इस उदाहरण में, हम अपने प्रॉडक्ट डेटा को तीसरे पक्ष की टेबल से मिले एक्सटेंडेड प्रॉडक्ट एट्रिब्यूट stg_extended_product के साथ जोड़ेंगे. इस टेबल में, ब्रैंड और लॉन्च की तारीख जैसी जानकारी शामिल होती है.

  1. Add Step पर क्लिक करें
  2. Join चुनें
  3. stg_extended_product टेबल पर जाएं.

dca14451c3fbc7f0.png

BigQuery में Gemini ने हमारे लिए, productid जॉइन की को अपने-आप चुन लिया है. साथ ही, इसने लेफ्ट और राइट हैंड साइड को क्वालिफ़ाई किया है, क्योंकि की का नाम एक जैसा है.

ध्यान दें: पक्का करें कि ब्यौरे वाले फ़ील्ड में ‘Join by productid' लिखा हो. अगर इसमें अतिरिक्त जॉइन की शामिल हैं, तो जानकारी वाले फ़ील्ड को ‘Join by productid' से बदलें. इसके बाद, जानकारी वाले फ़ील्ड में मौजूद जनरेट करें बटन को चुनें, ताकि नीचे दी गई शर्त L. के साथ जॉइन एक्सप्रेशन को फिर से जनरेट किया जा सके.

productid

= R.

productid. 4d6dbfea28772f34.png

  1. इसके अलावा, नतीजों की झलक देखने के लिए, 'झलक देखें' को चुनें.
  2. Apply पर क्लिक करें.

एक्सटेंड किए गए एट्रिब्यूट की वैल्यू ठीक करना

डेटा सोर्स जुड़ गया है. हालांकि, एक्सटेंड किए गए एट्रिब्यूट के डेटा को ठीक करने की ज़रूरत है. LaunchDate कॉलम में तारीख के फ़ॉर्मैट अलग-अलग हैं. साथ ही, Brand कॉलम में कुछ वैल्यू मौजूद नहीं हैं.

हम LaunchDate कॉलम से शुरुआत करेंगे.

f9b570d7c2d3a98d.png

कोई भी बदलाव करने से पहले, Gemini के सुझाव देखें.

  1. LaunchDate कॉलम के नाम पर क्लिक करें. आपको नीचे दी गई इमेज में दिखाए गए सुझावों की तरह ही कुछ सुझाव दिखेंगे.

62b6e6027a46ba75.png

  1. अगर आपको नीचे दिए गए SQL के साथ कोई सुझाव दिखता है, तो लागू करें पर क्लिक करके सुझाव लागू करें और अगले चरण छोड़ दें.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. अगर आपको ऊपर दिए गए एसक्यूएल से मिलता-जुलता कोई सुझाव नहीं दिखता है, तो Add Step पर क्लिक करें.
  2. Transformation को चुनें.
  3. SQL फ़ील्ड में, यह डालें:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Target Columns को LaunchDate पर सेट करें.
  2. Apply पर क्लिक करें.

LaunchDate कॉलम में अब तारीख का एक जैसा फ़ॉर्मैट है.

ccf34aa05754a834.png

9. वह टेबल जिसमें डेटा भेजना है जोड़ना

अब हमारा डेटासेट साफ़ हो गया है और हमारे डेटा वेयरहाउस में डाइमेंशन टेबल में लोड होने के लिए तैयार है.

  1. ADD STEP पर क्लिक करें.
  2. Destination को चुनें.
  3. ज़रूरी पैरामीटर भरें: डेटासेट: bq_data_preparation_demo टेबल: DimProduct
  4. Save पर क्लिक करें.

79fdc3666a3a21b9.png

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

95e64d8152228f7b.png

10. बोनस A: 'निर्माता' कॉलम को मैनेज करना और गड़बड़ी वाली टेबल बनाना

हमें Manufacturer कॉलम में खाली वैल्यू भी मिली हैं. हम इन रिकॉर्ड के लिए, डेटा क्वालिटी की जांच करना चाहते हैं. साथ ही, इन्हें गड़बड़ी वाली टेबल में ले जाना चाहते हैं, ताकि इनकी समीक्षा की जा सके.

गड़बड़ी वाली टेबल बनाना

  1. stg_product data preparation टाइटल के बगल में मौजूद, More बटन पर क्लिक करें.
  2. Setting सेक्शन में जाकर, Error Table को चुनें.
  3. Enable error table बॉक्स पर सही का निशान लगाएं और सेटिंग को इस तरह कॉन्फ़िगर करें:
  • डेटासेट: bq_data_preparation_demo चुनें
  • टेबल: err_dataprep डालें
  • Define duration for keeping errors में जाकर, 30 days (default) को चुनें
  1. Save पर क्लिक करें.

adb5722f05c1b205.png

'मैन्युफ़ैक्चरर' कॉलम के लिए पुष्टि करने की सुविधा सेट अप करना

  1. 'निर्माता' कॉलम चुनें.
  2. Gemini, डेटा में किए गए काम के बदलाव की पहचान कर लेगा. वह सुझाव ढूंढें जिसमें सिर्फ़ उन लाइनों को शामिल किया गया है जिनमें 'मैन्युफ़ैक्चरर' फ़ील्ड खाली नहीं है. इसमें इस तरह का एसक्यूएल होगा:
Manufacturer IS NOT NULL

2.इस सुझाव की समीक्षा करने के लिए, "बदलाव करें" बटन पर क्लिक करें.

4749b551a03d8193.png

  1. अगर "मान्य न होने वाली पंक्तियों को गड़बड़ी वाली टेबल में ले जाएं" विकल्प पर सही का निशान नहीं लगा है, तो उस पर सही का निशान लगाएं
  2. Apply पर क्लिक करें.

किसी भी समय, लागू किए गए बदलावों की समीक्षा की जा सकती है. साथ ही, "लागू किए गए चरण" बटन पर क्लिक करके, उनमें बदलाव किया जा सकता है या उन्हें मिटाया जा सकता है.

15df6caacbdd6a69.png

ProductID_1 कॉलम में मौजूद काम के न रहे डेटा को मिटाना

अब ProductID_1 कॉलम को मिटाया जा सकता है. यह कॉलम, हमारी जॉइन की गई टेबल के ProductID को डुप्लीकेट करता है.

  1. Schema टैब पर जाएं
  2. ProductID_1 कॉलम के बगल में मौजूद तीन बिंदुओं पर क्लिक करें.
  3. Drop पर क्लिक करें.

अब हम डेटा तैयार करने का काम शुरू करने और अपनी पूरी पाइपलाइन की पुष्टि करने के लिए तैयार हैं. जब हमें नतीजे सही लगते हैं, तब हम इस काम को अपने-आप चलने के लिए शेड्यूल कर सकते हैं.

  1. डेटा तैयार करने वाले व्यू से बाहर निकलने से पहले, अपनी सेटिंग सेव करें. आपको stg_product data preparation टाइटल के बगल में, Save बटन दिखेगा. सेव करने के लिए बटन पर क्लिक करें.

11. स्टोरेज में जगह बनाएं

  • stg_product data preparation को मिटाएं
  • bq data preparation demo डेटासेट मिटाना

12. बधाई हो

कोड लैब पूरा करने के लिए बधाई.

हमने क्या-क्या बताया

  • डेटा तैयार करने की प्रोसेस सेट अप करना
  • टेबल खोलना और डेटा तैयार करने की सुविधा पर जाना
  • संख्या और यूनिट डिस्क्रिप्टर डेटा वाले कॉलम को अलग-अलग करना
  • तारीख के फ़ॉर्मैट को स्टैंडर्ड बनाना
  • डेटा तैयार करने की प्रोसेस चल रही है