BigQuery הוא מסד נתונים פתוח של Google', NoOps, לניתוח נתונים בעלות נמוכה. באמצעות BigQuery אפשר להריץ שאילתות על נתונים בנפח טרה-בייט בלי שתצטרכו להיעזר באדמין של מסד נתונים או בכל תשתית שצריך לנהל. BigQuery משתמש במודל SQL מוכר ובמודל תשלום לפי שימוש. BigQuery מאפשר לכם להתמקד בניתוח נתונים כדי למצוא תובנות חשובות.
בשיעור Lab זה נראה איך לשלוח שאילתות לגבי מערך הנתונים הציבורי של GitHub, אחד ממערכי הנתונים הציבוריים הזמינים ב-BigQuery.
מה תלמדו
- באמצעות BigQuery
- כותבים שאילתה כדי לקבל תובנות לגבי מערך נתונים גדול
מה צריך?
הפעלת 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.
פותחים את מערך הנתונים של GitHub בממשק המשתמש של BigQuery.
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.49GB, השאילתה עובדה רק ב-35.8MB. BigQuery מעבד רק את הבייטים מהעמודות המשמשות בשאילתה, כך שהסכום הכולל של הנתונים שמעובדים עשוי להיות קטן באופן משמעותי מגודל הטבלה. בעזרת אשכולות וחלוקה, אפשר לצמצם עוד יותר את כמות הנתונים שמעובדים.
עכשיו עליך להריץ שאילתות על מערך נתונים אחר, כמו אחד ממערכי הנתונים הציבוריים האחרים.
לדוגמה, השאילתה הזו מוצאת פרויקטים פופולריים שאינם קיימים או שאינם מתוחזקים במערך הנתונים הגלוי לכול 'ספריות' שעדיין משמשים כתלויים בפרויקטים אחרים.
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, כמו בקשות משיכה, כוכבים של מאגרים ובעיות שנפתחו. אפשר להשתמש במערך הנתונים PyPI של Python לתוכנות כדי לנתח בקשות הורדה לחבילות Python.
השתמשתם ב-BigQuery וב-SQL כדי להריץ שאילתות על מערך הנתונים הציבורי של GitHub. יש לך אפשרות להריץ שאילתות על מערכי נתונים בקנה מידה גדול של פטה-בייט!
באילו נושאים מדובר?
- שימוש בתחביר SQL כדי לשלוח שאילתות על רשומות מחויבות של GitHub
- כותבים שאילתה כדי לקבל תובנות לגבי מערך נתונים גדול
למידע נוסף
- לומדים SQL על הקורס קורס מבוא ל-SQL.
- כדאי לעיין בתיעוד של BigQuery.
- רוצים לראות איך אחרים משתמשים במערך הנתונים של GitHub בפוסט הזה בבלוג?
- אפשר לעיין בנתוני מזג האוויר, בנתוני הפשעים ועוד ב-TIL עם BigQuery.
- בקישור הבא מוסבר איך לטעון נתונים אל BigQuery באמצעות כלי שורת הפקודה של BigQuery.
- רוצים לדעת איך אתם משתמשים היום ב-BigQuery?