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

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

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

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

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

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

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

BigQuery चालू करना

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

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

    प्रोजेक्ट का नाम चुनें और प्रोजेक्ट आईडी नोट करें.


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

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

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

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

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

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

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 का डेटासेट बड़ा होता है. इसलिए, एक्सपेरिमेंट करते समय छोटे सैंपल डेटासेट का इस्तेमाल करने से खर्च कम होता है. क्वेरी की लागत का अनुमान लगाने के लिए, एडिटर के नीचे प्रोसेस किए गए बाइट का इस्तेमाल करें.

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

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

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

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

उदाहरण के लिए, इस क्वेरी से 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 Archive डेटासेट का इस्तेमाल, GitHub पर सार्वजनिक इवेंट का विश्लेषण करने के लिए किया जा सकता है. जैसे, पुल के अनुरोध, रिपॉज़िटरी स्टार, और खोली गई समस्याएं. Python Software Foundation के PyPI डेटासेट का इस्तेमाल करके, Python पैकेज के डाउनलोड अनुरोधों का विश्लेषण किया जा सकता है.

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

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

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

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