GitHub डेटा की क्वेरी करने के लिए BigQuery का इस्तेमाल करना

1. परिचय

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

इस कोडलैब में, आपको यह पता चलेगा कि GitHub के सार्वजनिक डेटासेट को कैसे क्वेरी किया जाता है. यह BigQuery में उपलब्ध कई सार्वजनिक डेटासेट में से एक है.

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

  • BigQuery का इस्तेमाल कैसे करें
  • बड़े डेटासेट के बारे में अहम जानकारी पाने के लिए क्वेरी लिखने का तरीका

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

  • Google Cloud प्रोजेक्ट
  • कोई ब्राउज़र, जैसे कि Chrome या Firefox

2. सेट अप करें

BigQuery चालू करना

अगर आपके पास पहले से कोई Google खाता (Gmail या Google Apps) नहीं है, तो आपको एक खाता बनाना होगा.

  • Google Cloud Platform Console ( console.cloud.google.com) में साइन इन करें और BigQuery पर जाएं. अपने ब्राउज़र में यह यूआरएल डालकर, BigQuery वेब यूज़र इंटरफ़ेस (यूआई) को सीधे तौर पर भी खोला जा सकता है.
https://console.cloud.google.com/bigquery
  • सेवा की शर्तें स्वीकार करें.
  • BigQuery का इस्तेमाल करने से पहले, आपको एक प्रोजेक्ट बनाना होगा. नया प्रोजेक्ट बनाने के लिए, निर्देशों का पालन करें.

प्रोजेक्ट का नाम चुनें और प्रोजेक्ट आईडी नोट कर लें. 5dHf3myqCTd3rm-fowZ_aU3An-T_NTgNnIZtQILio27us0xB3StjnSNnQraAnllEQCH4N2nMwLU1mnELwbNN85tbwNC_DbIdbxU8ufzJYW1MWpYu0hnbSrAajpAaRNs8UBeWFu68Aw

प्रोजेक्ट आईडी, Google Cloud के सभी प्रोजेक्ट के लिए एक यूनीक नाम होता है. इस कोड लैब में इसे बाद में PROJECT_ID के तौर पर दिखाया जाएगा.

यह कोडलैब, BigQuery सैंडबॉक्स की सीमाओं के तहत BigQuery संसाधनों का इस्तेमाल करता है. बिलिंग खाते की ज़रूरत नहीं है. अगर आपको बाद में सैंडबॉक्स की सीमाएं हटानी हैं, तो Google Cloud Platform को बिना किसी शुल्क के आज़माने के लिए साइन अप करके, बिलिंग खाता जोड़ा जा सकता है.

3. GitHub के डेटा की झलक देखना

BigQuery के वेब यूज़र इंटरफ़ेस (यूआई) में GitHub डेटासेट खोलें.

https://console.cloud.google.com/bigquery?p=bigquery-public-data&d=github_repos&t=commits&page=table

डेटा कैसा दिखता है, इसकी झलक तुरंत देखें.

ed0b9fce5eab1c6b.png

4. GitHub डेटा को क्वेरी करना

क्वेरी एडिटर खोलें.

759423d320075d96.png

GitHub के सार्वजनिक डेटासेट में सबसे ज़्यादा इस्तेमाल किए जाने वाले कमिट मैसेज ढूंढने के लिए, यह क्वेरी डालें:

SELECT subject AS subject,
  COUNT(*) AS num_duplicates
FROM `bigquery-public-data.github_repos.sample_commits`
GROUP BY subject
ORDER BY num_duplicates DESC
LIMIT 100

GitHub का डेटासेट बड़ा होता है. इसलिए, एक्सपेरिमेंट करते समय छोटे सैंपल डेटासेट का इस्तेमाल करने से, लागत कम करने में मदद मिलती है. क्वेरी की लागत का अनुमान लगाने के लिए, एडिटर के नीचे प्रोसेस किए गए बाइट का इस्तेमाल करें.

fb66b7e9c6e838c.png

चलाएं बटन पर क्लिक करें.

कुछ ही सेकंड में, नतीजे सबसे नीचे दिखेंगे. साथ ही, आपको यह भी पता चलेगा कि कितना डेटा प्रोसेस किया गया और इसमें कितना समय लगा.

3ce1a59763d0dab5.png

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

5. ज़्यादा सार्वजनिक डेटा

अब किसी दूसरे डेटासेट, जैसे कि किसी अन्य सार्वजनिक डेटासेट से क्वेरी करने की कोशिश करें.

उदाहरण के लिए, यहां दी गई क्वेरी में ऐसे लोकप्रिय प्रोजेक्ट के बारे में पता चलता है जिन्हें बंद कर दिया गया है या जिनका रखरखाव नहीं किया जा रहा है. ये प्रोजेक्ट, Libraries.io के सार्वजनिक डेटासेट में मौजूद हैं और अब भी अन्य प्रोजेक्ट में डिपेंडेंसी के तौर पर इस्तेमाल किए जा रहे हैं:

SELECT
  name,
  dependent_projects_count,
  language,
  status
FROM
  `bigquery-public-data.libraries_io.projects_with_repository_fields`
WHERE status IN ('Deprecated', 'Unmaintained')
ORDER BY dependent_projects_count DESC
LIMIT 100

अन्य संगठनों ने भी अपना डेटा, BigQuery में सार्वजनिक तौर पर उपलब्ध कराया है. उदाहरण के लिए, GitHub के GH Archive डेटासेट का इस्तेमाल, GitHub पर सार्वजनिक इवेंट का विश्लेषण करने के लिए किया जा सकता है. जैसे, पुल के अनुरोध, रिपॉज़िटरी के स्टार, और खोली गई समस्याएं. Python Software Foundation के PyPI डेटासेट का इस्तेमाल करके, Python पैकेज के डाउनलोड अनुरोधों का विश्लेषण किया जा सकता है.

6. बधाई हो!

आपने GitHub के सार्वजनिक डेटासेट को क्वेरी करने के लिए, BigQuery और SQL का इस्तेमाल किया. अब आपके पास पेटाबाइट के डेटासेट से जुड़ी क्वेरी करने का विकल्प है!

आपने क्या-क्या कवर किया

  • GitHub कमिट रिकॉर्ड को क्वेरी करने के लिए, एसक्यूएल सिंटैक्स का इस्तेमाल करना
  • बड़े डेटासेट के बारे में अहम जानकारी पाने के लिए क्वेरी लिखना

ज़्यादा जानें