1. परिचय
कल्पना करें कि आपको कोडिंग के विशेषज्ञ होने की ज़रूरत नहीं है और आपके पास अपने डेटा को तेज़ी से और ज़्यादा असरदार तरीके से विश्लेषण के लिए तैयार करने का विकल्प है. BigQuery डेटा तैयार करने की सुविधा की मदद से, यह मुमकिन है. इस बेहतर सुविधा की मदद से, डेटा डालना, उसे बदलना, और उसे साफ़ करना आसान हो जाता है. इससे, आपके संगठन के सभी डेटा विशेषज्ञों के पास डेटा तैयार करने का विकल्प होता है.
क्या आप अपने प्रॉडक्ट डेटा में छिपी अहम जानकारी को अनलॉक करने के लिए तैयार हैं?
ज़रूरी शर्तें
- Google Cloud Console के बारे में बुनियादी जानकारी
 - एसक्यूएल के बारे में बुनियादी जानकारी
 
आपको क्या सीखने को मिलेगा
- फ़ैशन और ब्यूटी इंडस्ट्री के एक असली उदाहरण का इस्तेमाल करके, यह बताया गया है कि BigQuery डेटा तैयार करने की सुविधा, आपके रॉ डेटा को कैसे साफ़ कर सकती है और उसे काम की बिज़नेस इंटेलिजेंस में बदल सकती है.
 - अपने साफ़ किए गए डेटा के लिए, डेटा तैयार करने की प्रोसेस को चलाने और शेड्यूल करने का तरीका
 
आपको इन चीज़ों की ज़रूरत होगी
- Google Cloud खाता और Google Cloud प्रोजेक्ट
 - Chrome जैसा कोई वेब ब्राउज़र
 
2. बुनियादी सेटअप और ज़रूरी शर्तें
अपने हिसाब से एनवायरमेंट सेट अप करना
- Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से कोई Gmail या Google Workspace खाता नहीं है, तो आपको एक खाता बनाना होगा.
 



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

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

BigQuery डेटा तैयार करने की सुविधा का इस्तेमाल करने के लिए, आपको ये भूमिकाएं और अनुमतियां होनी चाहिए:
- BigQuery डेटा एडिटर (roles/bigquery.dataEditor)
 - सेवा के इस्तेमाल से जुड़ा उपभोक्ता (roles/serviceusage.serviceUsageConsumer)
 
4. BigQuery Analytics Hub में "bq डेटा तैयार करने का डेमो" लिस्टिंग ढूंढना और उस पर सदस्यता लेना
हम इस ट्यूटोरियल के लिए, bq data preparation demo डेटासेट का इस्तेमाल करेंगे. यह BigQuery Analytics Hub में मौजूद एक लिंक किया गया डेटासेट है. हम इसमें मौजूद डेटा को पढ़ेंगे.
डेटा तैयार करने की प्रोसेस, डेटा को सोर्स में कभी वापस नहीं लिखती. साथ ही, हम आपसे डेटा लिखने के लिए डेस्टिनेशन टेबल तय करने के लिए कहेंगे. इस एक्सरसाइज़ के लिए, हम जिस टेबल का इस्तेमाल करेंगे उसमें सिर्फ़ 1,000 लाइनें हैं, ताकि लागत कम से कम हो. हालांकि, डेटा तैयार करने की प्रोसेस BigQuery पर चलती है और डेटा के साथ-साथ स्केल भी होती है.
लिंक किए गए डेटासेट को ढूंढने और उसकी सदस्यता लेने के लिए, यह तरीका अपनाएं:
- Analytics Hub ऐक्सेस करना: Google Cloud Console में, BigQuery पर जाएं.
 - BigQuery के नेविगेशन मेन्यू में, "गवर्नेंस" में जाकर "Analytics Hub" चुनें.
 

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

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

- BigQuery में डेटासेट ऐक्सेस करना: सदस्यता लेने के बाद, लिस्टिंग में मौजूद डेटासेट आपके BigQuery प्रोजेक्ट से लिंक हो जाएंगे.
 
BigQuery Studio पर वापस जाएं.
5. डेटा एक्सप्लोर करना और डेटा तैयार करने की प्रोसेस शुरू करना
- डेटासेट और टेबल ढूंढें: एक्सप्लोरर पैनल में, अपना प्रोजेक्ट चुनें. इसके बाद, 
bq data preparation demoलिस्टिंग में शामिल डेटासेट ढूंढें.stg_productटेबल चुनें. - डेटा तैयार करने वाले टूल में खोलें: टेबल के नाम के बगल में मौजूद तीन वर्टिकल बिंदुओं पर क्लिक करें और 
Open in Data Preparationचुनें. 
इससे, डेटा तैयार करने वाले इंटरफ़ेस में टेबल खुल जाएगी. अब आपके पास अपने डेटा को ट्रांसफ़ॉर्म करने का विकल्प होगा.

यहां दी गई डेटा झलक में देखा जा सकता है कि हमें डेटा से जुड़ी कुछ चुनौतियों का सामना करना पड़ रहा है. हम इन समस्याओं को हल करेंगे. इनमें ये शामिल हैं:
- कीमत वाले कॉलम में, रकम और मुद्रा, दोनों शामिल होती हैं. इससे विश्लेषण करना मुश्किल हो जाता है.
 - प्रॉडक्ट कॉलम में, प्रॉडक्ट का नाम और कैटगरी (पाइप सिंबल | से अलग की गई) शामिल होती है.
 

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

6. कीमत वाले कॉलम को मैनेज करना
चलिए, कीमत कॉलम को देखें. जैसा कि हमने देखा है, इसमें मुद्रा और रकम, दोनों शामिल हैं. हमारा मकसद, इन डेटा को दो अलग-अलग कॉलम:मुद्रा और रकम में बांटना है.
Gemini ने कीमत कॉलम के लिए कई सुझाव दिए हैं.
- ऐसा सुझाव ढूंढें जिसमें कुछ ऐसा लिखा हो:
 
जानकारी: "यह एक्सप्रेशन, दिए गए फ़ील्ड से शुरुआती ‘USD ' हटा देता है"
REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
- झलक चुनें
 

- 'लागू करें' को चुनें
 
अब कीमत कॉलम के लिए, डेटा टाइप को STRING से NUMERIC में बदलें.
- ऐसा सुझाव ढूंढें जिसमें कुछ ऐसा लिखा हो:
 
जानकारी: "कीमत वाले कॉलम को स्ट्रिंग टाइप से float64 टाइप में बदलता है"
SAFE_CAST(Price AS float64)
- 'लागू करें' चुनें.
 
अब आपको चरणों की सूची में, लागू किए गए तीन चरण दिखेंगे.

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

Gemini इस पैटर्न को समझकर, पूरे कॉलम पर लागू करने के लिए ट्रांसफ़ॉर्मेशन का सुझाव देगा.
- "बदलाव करें" को चुनें.
 

Gemini का सुझाव सही है: यह ‘|' वर्ण के बाद की सभी चीज़ों को हटा देता है, जिससे प्रॉडक्ट का नाम अलग हो जाता है.
हालांकि, इस बार हमें अपने ओरिजनल डेटा को ओवरराइट नहीं करना है.
- टारगेट कॉलम के ड्रॉपडाउन में, "नया कॉलम बनाएं" चुनें.
 - नाम को ProductName पर सेट करें.
 

- बदलावों की झलक देखकर पक्का करें कि सब कुछ ठीक है.
 - ट्रांसफ़ॉर्मेशन लागू करें.
 
प्रॉडक्ट कैटगरी निकालना
सामान्य भाषा का इस्तेमाल करके, हम Gemini को निर्देश देंगे कि वह प्रॉडक्ट कॉलम में पाइप (|) के बाद मौजूद शब्द को निकाले. निकाली गई इस वैल्यू को, 'प्रॉडक्ट' नाम के मौजूदा कॉलम में ओवरराइट कर दिया जाएगा.
- ट्रांसफ़ॉर्मेशन का नया चरण जोड़ने के लिए, 
Add Stepपर क्लिक करें. 

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

- टारगेट कॉलम को "प्रॉडक्ट" के तौर पर छोड़ दें.
 - लागू करें पर क्लिक करें.
 
ट्रांसफ़ॉर्मेशन से आपको ये नतीजे मिलेंगे.

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

BigQuery में Gemini ने हमारे लिए, productid जॉइन की अपने-आप चुन लिया और बाईं और दाईं ओर की वैल्यू को क्वालीफ़ाई कर दिया, क्योंकि की का नाम एक जैसा है.
ध्यान दें: पक्का करें कि ब्यौरे वाले फ़ील्ड में 'productid से जॉइन करें' लिखा हो. अगर इसमें अतिरिक्त जॉइन की शामिल हैं, तो ब्यौरा फ़ील्ड को 'productid के हिसाब से जॉइन करें' पर बदलें. इसके बाद, ब्यौरा फ़ील्ड में जनरेट करें बटन को चुनें, ताकि नीचे दी गई शर्त L के साथ जॉइन एक्सप्रेशन फिर से जनरेट किया जा सके.
productid
= R.
productid. 
- इसके अलावा, नतीजों की झलक देखने के लिए, 'झलक देखें' चुनें.
 Applyपर क्लिक करें.
एक्सटेंड किए गए एट्रिब्यूट की जानकारी हटाना
जॉइन हो गया है, लेकिन एक्सटेंड किए गए एट्रिब्यूट के डेटा को साफ़ करने की ज़रूरत है. LaunchDate कॉलम में तारीख के फ़ॉर्मैट अलग-अलग हैं. साथ ही, Brand कॉलम में कुछ वैल्यू मौजूद नहीं हैं.
हम LaunchDate कॉलम से शुरुआत करेंगे.

कोई भी ट्रांसफ़ॉर्मेशन बनाने से पहले, Gemini के सुझाव देखें.
LaunchDateकॉलम के नाम पर क्लिक करें. आपको नीचे दी गई इमेज में दिखाए गए सुझावों जैसे कुछ सुझाव दिखेंगे.

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

9. डेस्टिनेशन टेबल जोड़ना
हमारा डेटासेट अब साफ़ हो गया है और हमारे डेटा वेयरहाउस में डाइमेंशन टेबल में लोड करने के लिए तैयार है.
ADD STEPपर क्लिक करें.Destinationचुनें.- ज़रूरी पैरामीटर भरें: डेटासेट: 
bq_data_preparation_demoटेबल:DimProduct Saveपर क्लिक करें.

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

10. बोनस A: मैन्युफ़ैक्चरर कॉलम को मैनेज करना और गड़बड़ी वाली टेबल बनाना
हमने Manufacturer कॉलम में खाली वैल्यू भी देखी हैं. इन रिकॉर्ड के लिए, हम डेटा क्वालिटी की जांच करना चाहते हैं. साथ ही, इन्हें आगे की समीक्षा के लिए गड़बड़ी वाली टेबल में ले जाना चाहते हैं.
गड़बड़ी की टेबल बनाना
stg_product data preparationटाइटल के बगल में मौजूद,Moreबटन पर क्लिक करें.Settingसेक्शन में,Error Tableचुनें.Enable error tableबॉक्स को चुनें. इसके बाद, सेटिंग को इस तरह कॉन्फ़िगर करें:
- डेटासेट: 
bq_data_preparation_demoचुनें - टेबल: 
err_dataprepडालें Define duration for keeping errorsमें जाकर,30 days (default)को चुनें
Saveपर क्लिक करें.

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

- अगर "पुष्टि न हो पाने वाली पंक्तियां, गड़बड़ी की टेबल में चली जाती हैं" विकल्प चुना नहीं गया है, तो उसे चुनें
 Applyपर क्लिक करें.
"लागू किए गए चरण" बटन पर क्लिक करके, किसी भी समय लागू किए गए ट्रांसफ़ॉर्मेशन की समीक्षा की जा सकती है, उनमें बदलाव किया जा सकता है या उन्हें मिटाया जा सकता है.

ग़ैर-ज़रूरी ProductID_1 कॉलम को हटाना
ProductID_1 कॉलम, जोड़ दी गई टेबल के ProductID को डुप्लीकेट करता है. इसे अब मिटाया जा सकता है.
Schemaटैब पर जाएंProductID_1कॉलम के बगल में मौजूद तीन बिंदुओं पर क्लिक करें.Dropपर क्लिक करें.
अब हम डेटा तैयार करने की प्रोसेस शुरू करने और अपनी पूरी पाइपलाइन की पुष्टि करने के लिए तैयार हैं. नतीजों से संतुष्ट होने के बाद, हम जॉब को अपने-आप चलने के लिए शेड्यूल कर सकते हैं.
- डेटा तैयार करने के सेक्शन से बाहर जाने से पहले, अपनी तैयारियां सेव करें. 
stg_product data preparationटाइटल के बगल में, आपकोSaveबटन दिखेगा. सेव करने के लिए बटन पर क्लिक करें. 
11. एनवायरमेंट को साफ़ करना
stg_product data preparationको मिटाएंbq data preparation demoडेटासेट मिटाना
12. बधाई हो
कोडलैब पूरा करने के लिए बधाई.
हमने क्या-क्या शामिल किया है
- डेटा तैयार करने की सुविधा सेट अप करना
 - टेबल खोलना और डेटा तैयार करने की सुविधा का इस्तेमाल करना
 - संख्या और यूनिट के ब्यौरे वाले डेटा के साथ कॉलम को अलग करना
 - तारीख के फ़ॉर्मैट को स्टैंडर्ड बनाना
 - डेटा तैयार करने की प्रोसेस चल रही है