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

۱. مقدمه

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

در این آزمایشگاه کد، نحوه‌ی کوئری گرفتن از مجموعه داده‌های عمومی گیت‌هاب ، یکی از مجموعه داده‌های عمومی موجود در BigQuery، را خواهید دید.

آنچه یاد خواهید گرفت

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

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

۲. آماده شوید

فعال کردن بیگ‌کوئری

اگر از قبل حساب گوگل (جیمیل یا گوگل اپس) ندارید، باید یکی ایجاد کنید .

  • وارد کنسول پلتفرم ابری گوگل ( 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 استفاده می‌کند. حساب کاربری صورتحساب لازم نیست. اگر بعداً بخواهید محدودیت‌های سندباکس را حذف کنید، می‌توانید با ثبت‌نام در دوره آزمایشی رایگان پلتفرم ابری گوگل، یک حساب کاربری صورتحساب اضافه کنید.

۳. پیش‌نمایش داده‌های گیت‌هاب

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

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

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

ed0b9fce5eab1c6b.png

۴. جستجوی داده‌های گیت‌هاب

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

759423d320075d96.png

برای یافتن رایج‌ترین پیام‌های کامیت در مجموعه داده‌های عمومی گیت‌هاب، کوئری زیر را وارد کنید:

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

با توجه به اینکه مجموعه داده‌های گیت‌هاب بزرگ است، استفاده از یک مجموعه داده نمونه کوچک‌تر در حین آزمایش برای صرفه‌جویی در هزینه‌ها مفید است. از بایت‌های پردازش‌شده در زیر ویرایشگر برای تخمین هزینه پرس‌وجو استفاده کنید.

f66b7e9c6e838c.png

روی دکمه‌ی اجرا کلیک کنید.

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

3ce1a59763d0dab5.png

اگرچه جدول sample_commits حجمی معادل ۲.۴۹ گیگابایت دارد، اما کوئری فقط ۳۵.۸ مگابایت از آن را پردازش کرده است. بیگ‌کوئری فقط بایت‌های ستون‌های استفاده‌شده در کوئری را پردازش می‌کند، بنابراین کل حجم داده‌های پردازش‌شده می‌تواند به‌طور قابل‌توجهی کمتر از حجم جدول باشد. با خوشه‌بندی و پارتیشن‌بندی ، حجم داده‌های پردازش‌شده می‌تواند حتی بیشتر کاهش یابد.

۵. داده‌های عمومی بیشتر

حالا سعی کنید از یک مجموعه داده دیگر، مثلاً یکی از مجموعه داده‌های عمومی دیگر، کوئری بگیرید.

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

۶. تبریک می‌گویم!

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

آنچه را که پوشش دادید

  • استفاده از سینتکس SQL برای کوئری زدن به رکوردهای کامیت گیت‌هاب
  • نوشتن یک کوئری برای کسب بینش در مورد یک مجموعه داده بزرگ

بیشتر بدانید