از BigQuery برای پرس و جو از داده های GitHub استفاده کنید

1. مقدمه

BigQuery پایگاه داده تحلیلی کاملاً مدیریت شده و کم هزینه گوگل است. با BigQuery، می توانید بدون نیاز به مدیر پایگاه داده یا زیرساختی برای مدیریت، ترابایت داده را پرس و جو کنید. BigQuery از SQL آشنا و یک مدل شارژ فقط پرداخت برای آنچه شما استفاده می کنید استفاده می کند. BigQuery به شما اجازه می دهد تا بر تجزیه و تحلیل داده ها تمرکز کنید تا بینش های معنی دار پیدا کنید.

در این لبه کد، نحوه پرس و جو از مجموعه داده عمومی GitHub را خواهید دید، یکی از مجموعه داده های عمومی موجود در BigQuery .

چیزی که یاد خواهید گرفت

  • نحوه استفاده از BigQuery
  • نحوه نوشتن یک پرس و جو برای به دست آوردن بینش در مورد یک مجموعه داده بزرگ

آنچه شما نیاز دارید

2. راه اندازی شوید

BigQuery را فعال کنید

اگر قبلاً یک حساب Google (Gmail یا Google Apps) ندارید، باید یک حساب ایجاد کنید .

  • به کنسول Google Cloud Platform ( consol.cloud.google.com ) وارد شوید و به BigQuery بروید. همچنین می توانید با وارد کردن URL زیر در مرورگر خود، رابط وب BigQuery را مستقیماً باز کنید.
https://console.cloud.google.com/bigquery
  • شرایط خدمات را بپذیرید.
  • قبل از اینکه بتوانید از BigQuery استفاده کنید، باید یک پروژه ایجاد کنید. برای ایجاد پروژه جدید خود، دستورات را دنبال کنید.

نام پروژه را انتخاب کنید و شناسه پروژه را یادداشت کنید. 5dHf3myqCTd3rm-fowZ_aU3An-T_NTgNnIZtQILio27us0xB3StjnSNnQraAnllEQCH4N2nMwLU1mnELwbNN85tbwNC_DbIdbxU8ufzJYW1MWSrNFu8bAn

شناسه پروژه یک نام منحصر به فرد در تمام پروژه های Google Cloud است. بعداً در این آزمایشگاه کد به عنوان PROJECT_ID نامیده خواهد شد.

این آزمایشگاه کد از منابع BigQuery در محدوده جعبه ایمنی BigQuery استفاده می کند. حساب صورتحساب مورد نیاز نیست. اگر بعداً می‌خواهید محدودیت‌های جعبه ایمنی را حذف کنید، می‌توانید با ثبت‌نام در نسخه آزمایشی رایگان Google Cloud Platform یک حساب صورت‌حساب اضافه کنید.

3. پیش نمایش داده های GitHub

مجموعه داده GitHub را در رابط کاربری وب BigQuery باز کنید.

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

یک پیش نمایش سریع از نحوه ظاهر داده ها دریافت کنید.

ed0b9fce5eab1c6b.png

4. داده های GitHub را پرس و جو کنید

ویرایشگر پرس و جو را باز کنید.

759423d320075d96.png

برای یافتن رایج‌ترین پیام‌های commit در مجموعه داده عمومی 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

روی دکمه Run کلیک کنید.

در عرض چند ثانیه، نتیجه در پایین لیست می‌شود و به شما می‌گوید چه مقدار داده پردازش شده و چه مدت طول کشیده است.

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 در دسترس عموم قرار داده‌اند. به عنوان مثال، مجموعه داده های GH Archive Github را می توان برای تجزیه و تحلیل رویدادهای عمومی در GitHub، مانند درخواست های کشش، ستاره های مخزن، و مسائل باز استفاده کرد. مجموعه داده PyPI بنیاد نرم افزار پایتون را می توان برای تجزیه و تحلیل درخواست های دانلود برای بسته های پایتون استفاده کرد.

6. تبریک می گویم!

شما از BigQuery و SQL برای پرس و جو از مجموعه داده عمومی GitHub استفاده کردید. شما این قدرت را دارید که مجموعه داده های مقیاس پتابایت را پرس و جو کنید!

آنچه شما پوشش داده اید

  • استفاده از نحو SQL برای پرس و جو از رکوردهای commit GitHub
  • نوشتن یک پرس و جو برای به دست آوردن بینش در مورد یک مجموعه داده بزرگ

بیشتر بدانید