1. מבוא
BigQuery הוא מסד נתונים מנוהל של Google לניתוח נתונים בעלות נמוכה. עם BigQuery, אתם יכולים להריץ שאילתות על טרה-בייט של נתונים בלי שתצטרכו מנהל מסד נתונים או תשתית לניהול. ב-BigQuery נעשה שימוש ב-SQL מוכר ובמודל תמחור שבו משלמים רק על מה שמשתמשים. BigQuery מאפשר לכם להתמקד בניתוח נתונים כדי להפיק תובנות משמעותיות.
ב-codelab הזה תלמדו איך להריץ שאילתות במערך הנתונים הציבורי של GitHub, שהוא אחד מתוך מערכי נתונים ציבוריים רבים שזמינים ב-BigQuery.
מה תלמדו
- איך משתמשים ב-BigQuery
- איך כותבים שאילתה כדי לקבל תובנות לגבי מערך נתונים גדול
מה תצטרכו
2. להגדרה
הפעלת BigQuery
אם עדיין אין לכם חשבון Google (Gmail או Google Apps), אתם צריכים ליצור חשבון.
- נכנסים למסוף Google Cloud Platform ( console.cloud.google.com) ועוברים אל BigQuery. אפשר גם לפתוח את ממשק האינטרנט של BigQuery ישירות על ידי הזנת כתובת ה-URL הבאה בדפדפן.
https://console.cloud.google.com/bigquery
- מאשרים את התנאים וההגבלות.
- כדי להשתמש ב-BigQuery, צריך ליצור פרויקט. פועלים לפי ההנחיות ליצירת פרויקט חדש.
בוחרים שם לפרויקט ורושמים את מזהה הפרויקט.
מזהה הפרויקט הוא שם ייחודי בכל הפרויקטים ב-Google Cloud. בהמשך ה-codelab הזה נתייחס אליו כאל PROJECT_ID.
ב-codelab הזה נעשה שימוש במשאבי 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
תוכלו לראות תצוגה מקדימה של הנתונים.

4. שאילתת נתונים מ-GitHub
פותחים את עורך השאילתות.

כדי למצוא את הודעות הקומיט הנפוצות ביותר במערך הנתונים הציבורי של 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.49GB, השאילתה עיבדה רק 35.8MB. מערכת BigQuery מעבדת רק את הבייטים מהעמודות שבהן נעשה שימוש בשאילתה, ולכן כמות הנתונים הכוללת שעוברת עיבוד יכולה להיות קטנה משמעותית מגודל הטבלה. בעזרת clustering וחלוקה למחיצות (partitioning) אפשר לצמצם עוד יותר את כמות הנתונים שמעובדים.
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 של Python Software Foundation כדי לנתח בקשות להורדת חבילות Python.
6. מעולה!
השתמשתם ב-BigQuery וב-SQL כדי להריץ שאילתות על מערך הנתונים הציבורי של GitHub. אתם יכולים להריץ שאילתות על מערכי נתונים בגודל פטה-בייט!
מה כיסיתם
- שימוש בתחביר SQL להרצת שאילתות על רשומות של קומיטים ב-GitHub
- כתיבת שאילתה כדי לקבל תובנות לגבי מערך נתונים גדול
מידע נוסף
- אפשר ללמוד SQL באמצעות המדריך של Kaggle בנושא מבוא ל-SQL.
- אפשר לעיין בתיעוד של BigQuery.
- בפוסט הזה בבלוג אפשר לראות איך אחרים משתמשים במערך הנתונים של GitHub.
- אפשר לעיין בנתוני מזג אוויר, נתוני פשיעה ועוד ב-TIL עם BigQuery.
- איך טוענים נתונים ל-BigQuery באמצעות כלי שורת הפקודה של BigQuery
- כדי ללמוד איך אחרים משתמשים ב-BigQuery, אפשר לעיין ב-BigQuery subreddit.