1. מבוא
BigQuery הוא מחסן נתונים (data warehouse) חסכוני וללא שרת (serverless), עם יכולת התאמה רחבה. צריך רק להעביר את הנתונים ל-BigQuery ולתת לנו לעשות את העבודה הקשה, כדי שתוכלו להתמקד במה שבאמת חשוב – ניהול העסק. אפשר לשלוט בגישה לפרויקט וגם לנתונים בהתאם לצרכים העסקיים שלכם, למשל לאפשר לאנשים אחרים להציג את הנתונים או להריץ שאילתות לגביהם.
בשיעור ה-Lab הזה תלמדו על אפשרויות הניתוח של BigQuery. תלמדו גם איך לייבא מערך נתונים מקטגוריה של Google Cloud Storage ולהבין את ממשק המשתמש של BigQuery באמצעות מערך נתונים של בנקאות קמעונאית. בנוסף, בשיעור ה-Lab הזה תלמדו איך לחשוף תכונות מרכזיות ב-BigQuery שבזכותן קל יותר לבצע ניתוח נתונים יומיומי כמו ייצוא תוצאות של שאילתות בגיליון אלקטרוני, צפייה בשאילתות מהיסטוריית השאילתות שלכם, צפייה בביצועים שלהן ויצירת תצוגות טבלאות לשימוש צוותים ומחלקות אחרים.
מה תלמדו
בשיעור ה-Lab הזה תלמדו איך לבצע את המשימות הבאות:
- טעינת נתונים חדשים לתוך BigQuery
- היכרות עם ממשק המשתמש של BigQuery
- הרצת שאילתות ב-BigQuery
- הצגה של ביצועי השאילתה
- יצירת תצוגות ב-BigQuery
- שיתוף מאובטח של מערכי נתונים עם אחרים
2. מבוא: הסבר על ממשק המשתמש של BigQuery
בקטע הזה תלמדו איך לנווט בממשק המשתמש של BigQuery, להציג מערכי נתונים זמינים ולהריץ שאילתה פשוטה.
ממשק המשתמש של BQ בטעינה
- הקלדה ב-BigQuery שנמצא בחלק העליון של קונסולת Google Cloud Platform.
- בוחרים את BigQuery מרשימת האפשרויות. חשוב לבחור את האפשרות עם הלוגו של BigQuery, הזכוכית המגדלת.
צפייה במערכי נתונים והרצת שאילתות
- בחלונית הימנית בקטע 'משאבים', לוחצים על הפרויקט ב-BigQuery.
- לוחצים על
bq_demo
כדי לראות את הטבלאות במערך הנתונים - בתיבת החיפוש מקלידים 'כרטיס'. כדי לראות רשימה של טבלאות ומערכי נתונים שמכילים את המילה 'כרטיס'. בשם.
- בוחרים באפשרות 'card_transactions' טבלה מרשימת תוצאות החיפוש
- לוחצים על הכרטיסייה 'פרטים' מתחת לחלונית
card_transactions
כדי להציג את המטא-נתונים של הטבלה הזו. - לוחצים על הכרטיסייה 'תצוגה מקדימה' כדי לראות תצוגה מקדימה של הטבלה
[דיון תחרותי]: שילוב עם Google Data Catalog מאפשר לנהל את המטא-נתונים של BigQuery יחד עם מקורות נתונים אחרים, כמו אגמי נתונים (data lakes) או מקורות נתונים תפעוליים. זו דוגמה אחת שמראה ש-Google Cloud הוא לא רק מחסן נתונים (data warehouse) יחסי, אלא פלטפורמה שלמה של Analytical Data.
- לוחצים על סמל הזכוכית המגדלת כדי להריץ שאילתה על הכרטיס 'card_transactions' טבלה. טקסט שנוצר באופן אוטומטי יאכלס את עורך השאילתות של BigQuery.
- צריך להזין את הקוד בהמשך כדי להציג מוכרים שונים מהטבלה Card_Transactions
SELECT distinct (merchant) FROM bq_demo.card_transactions LIMIT 1000
- לוחצים על הלחצן 'הרצה' כדי להריץ את השאילתה.
3. יצירת מערכי נתונים ושיתוף תצוגות
שיתוף נתונים ופיקוח הוא חיוני. אפשר לעשות זאת באופן אינטואיטיבי בממשק המשתמש של BQ. בחלק הזה תלמדו איך ליצור מערך נתונים חדש, לאכלס אותו בתצוגה מפורטת ולשתף את מערך הנתונים הזה.
צפייה בהיסטוריית השאילתות
- לוחצים על 'היסטוריית שאילתות' בחלונית השמאלית של מסוף GCP
- לוחצים על 'רענון' בחלונית 'היסטוריית שאילתות'
- כדי להציג את תוצאות השאילתה, לוחצים על החץ להורדה או על התמונה שהורדתם.
יצירת מערך נתונים חדש
- בוחרים את [שם הפרויקט] בחלונית המשאבים בממשק המשתמש של BigQuery.
- בוחרים באפשרות 'יצירת מערך נתונים חדש' מחלונית המידע של הפרויקט
- למזהה מערך הנתונים:
bq_demo_shared
- צריך להשאיר את כל שאר השדות כברירת מחדל
- לוחצים על "יצירת מערך נתונים"
יצירת תצוגות מפורטות
[דיון תחרותי]: BigQuery תואם באופן מלא ל-ANSI SQL ותומך בשאילתות איחוד (join) פשוטות ומורכבות ובפונקציות אנליטיות עשירות. כדי להקל על תהליך ההעברה, אנחנו ממשיכים להשיק תמיכה משופרת בפונקציות ובסוגים נפוצים של נתונים של SQL שמשמשים במחסני נתונים מסורתיים.
- בוחרים באפשרות 'כתיבת שאילתה חדשה'. בחלק העליון של החלונית 'עורך השאילתות'.
- מוסיפים את הקוד הבא בעורך השאילתות
WITH revenue_by_month AS (
SELECT
card.type AS card_type,
FORMAT_DATE('%Y-%m', trans_date) as revenue_date,
SUM(amount) as revenue
FROM bq_demo.card_transactions
JOIN bq_demo.card ON card_transactions.cc_number = card.card_number
WHERE trans_date DATE_ADD(CURRENT_DATE, INTERVAL -1 YEAR)
GROUP BY card_type, revenue_date
)
SELECT
card_type,
revenue_date,
revenue as monthly_rev,
revenue - LAG(revenue) OVER (ORDER BY card_type, revenue_date ASC) as rev_change
FROM revenue_by_month
ORDER BY card_type, revenue_date ASC;
- לוחצים על "שמירת התצוגה".
- צריך לבחור את הפרויקט הנוכחי עבור 'שם הפרויקט'
- בוחרים את מערך הנתונים החדש שנוצר:
bq_demo_shared
- לשם הטבלה:
rev_change_by_card_type
- לוחצים על 'שמירה'.
שיתוף תצוגות מפורטות ומערכי נתונים
- בוחרים באפשרות 'bq_demo_shared'. מחלונית המשאבים השמאלית בממשק המשתמש של BigQuery.
- לוחצים על 'שיתוף מערך הנתונים' מחלונית המידע של מערך הנתונים
- צריך להזין כתובת אימייל
- בוחרים באפשרות BigQuery Data Viewer (צפייה בנתוני BigQuery). מהתפריט הנפתח 'תפקיד'
- לוחצים על 'הוספה'.
- לוחצים על 'סיום'.
עיון בנתונים ב-Sheets
[דיון תחרותי]: יתרון נוסף של BigQuery בהשוואה למתחרים שלו הוא מנוע BI. אפשר להשתמש במנוע BI כדי להחזיר שאילתות סיכום מסוג BI תוך פחות משנייה דרך מנוע לשמירה במטמון בזיכרון. האפשרות הזו נתמכת כרגע על ידי Google Data Studio, אבל בקרוב היא תהיה זמינה כדי להאיץ את כל השאילתות ב-BigQuery.
למשל:
ב-Snowflake מסתמכים על כלי BI של צד שלישי ללוחות בקרה ולהצגה חזותית של נתונים, ואילו ב-GCP יש מגוון כלי BI משולבים, כולל 'גיליונות מקושרים', Data Studio ו-Looker.
- בוחרים את סוג הכרטיס 'rev_change_by_card_type' מחלונית המשאב השמאלית בממשק המשתמש של BigQuery.
- לוחצים על זכוכית המגדלת כדי להריץ שאילתה על התצוגה
- סוג:
בחירת *
FROM bq_demo_shared.rev_change_by_card_type
- לוחצים על 'הפעלה'
- לוחצים על "ייצוא". סמל מחלונית התוצאות
- בחירה באפשרות 'עיון בנתונים באמצעות Sheets'
- לוחצים על "התחלת ניתוח"
- בוחרים באפשרות 'טבלת צירים'
- בוחרים באפשרות 'גיליון חדש'
- לחץ על "צור"
- מוסיפים את המאפיין 'Revenue_date' בקטע 'שורות' בעורך טבלת הצירים, שנמצא משמאל לחלון Sheets
- מוסיפים את 'card_type' בקטע 'עמודות' בעורך טבלת הצירים
- מוסיפים את המאפיין 'month_rev' בקטע 'עמודות' בעורך טבלת הצירים
- לחץ על 'החל'
- עוברים לחלק העליון של הדף בממשק המשתמש של Sheets ובוחרים באפשרות 'הוספת תרשים'
4. הגדרה: שילוב נתונים
בחלק הזה תלמדו איך ליצור טבלה חדשה ולבצע שאילתות איחוד (joinS) באחד ממערכי הנתונים הציבוריים הרבים שזמינים ב-Google Cloud.
[דיון תחרותי]:
BigQuery תומך בקבוצות נתונים משותפות במשך שנים. לקוחות בכל פרויקט יכולים לשלוח שאילתות גם על קבוצות נתונים ציבוריות וגם על קבוצות נתונים בפרויקטים אחרים ששותפו איתם.
BigQuery יכול לתמוך באגמי נתונים (data lake) ב-GCS באמצעות טבלאות חיצוניות. בנוסף לטעינה בכמות גדולה, BigQuery תומך באפשרות להזרים נתונים למסד הנתונים בקצב של יותר ממאותMB לשנייה. ב-Snowflake אין תמיכה בסטרימינג של נתונים.
ייבוא נתונים לטבלה חדשה
- בחלונית המשאבים, בוחרים את מערך הנתונים bq_demo
- בחלונית המידע של מערך הנתונים, בוחרים באפשרות Create Table (יצירת טבלה).
- בחירה של Google Cloud Storage for Source
- בתיבת הטקסט של נתיב הקובץ:
gs://retail-banking-looker/district
- בחירת CSV לפורמט הקובץ
- מזינים 'מחוז' לשם הטבלה
- מסמנים את תיבת הסימון של סכימה של זיהוי אוטומטי
- לוחצים על 'יצירת טבלה'
שאילתות במערך נתונים ציבורי
- בעורך השאילתות, מזינים את השאילתה הבאה:
SELECT
CAST(geo_id as STRING) AS zip_code,
total_pop,
median_age,
households,
income_per_capita,
housing_units,
vacant_housing_units_for_sale,
ROUND(SAFE_DIVIDE(employed_pop, pop_16_over),4) AS rate_employment,
ROUND(SAFE_DIVIDE(bachelors_degree_or_higher_25_64, pop_25_64),4) AS rate_bachelors_degree_or_higher_25_64
FROM
`bigquery-public-data.census_bureau_acs.zip_codes_2017_5yr`;
- לוחצים על 'הפעלה'
- הצגת התוצאות
- עכשיו נשלב את הנתונים הציבוריים האלה עם שאילתה אחרת. מזינים את קוד ה-SQL הבא בעורך השאילתות:
WITH customer_counts AS (
select regexp_extract(address, "[0-9][0-9][0-9][0-9][0-9]") as zip_code,
count(*) as num_clients
FROM bq_demo.client
GROUP BY zip_code
)
SELECT
CAST(geo_id as STRING) AS zip_code,
total_pop,
median_age,
households,
income_per_capita,
ROUND(SAFE_DIVIDE(employed_pop, pop_16_over),4) AS rate_employment,
num_clients
FROM
`bigquery-public-data.census_bureau_acs.zip_codes_2017_5yr`
JOIN customer_counts on zip_code = geo_id
ORDER BY num_clients DESC
- לוחצים על 'הפעלה'
- הצגת התוצאות
5. ניהול קיבולת
עבודה עם משבצות זמן והזמנות
BQ מציעה כמה מודלים של תמחור כדי לענות על הצרכים שלכם. רוב הלקוחות הגדולים משתמשים בעיקר בתעריף קבוע לצורך תמחור צפוי מראש בקיבולת שמורה. כדי לפורץ מעבר לקיבולת הבסיסית, BQ מציעה משבצות גמישות שמאפשרות להגדיל את הקיבולת תוך כדי תנועה ואז להתכווץ באופן אוטומטי ללא השפעה על שאילתות פעילות. ל-BQ יש גם מודל סריקת בייטים שמאפשר לך לשלם רק על השאילתות שמריצים.
[דיון תחרותי: חלק מהמתחרים עובדים רק על מודל של קיבולת קבועה, שבו הלקוחות צריכים להקצות מחסן וירטואלי לכל עומס עבודה בארגון. בנוסף למודל עלות נמוכה לשאילתה שמקל על התחלת העבודה עם BigQuery, אנחנו תומכים במודל תמחור קיבולת לפי תעריף קבוע שבו ניתן לשתף את הקיבולת ללא פעילות בין קבוצה של עומסי עבודה.]
- עוברים לכרטיסיית ההזמנות.
- לחץ על "קניית יחידות קיבולת"
- בוחרים באפשרות 'גמיש'. כמשך זמן.
- בוחרים 500 מקומות.
- מאשרים את הרכישה.
- לוחצים על 'הצגת ההתחייבויות לנתוני משבצת הזמן'.
- לוחצים על 'יצירת הזמנה'
- הדגמה של משתמש כשם הזמנה
- בחירה בארצות הברית כמיקום
- סוג 500 למשבצות (הכול זמין)
- משימות של קליקים
- בחירת הפרויקט הנוכחי לפרויקט הארגוני
- בוחרים באפשרות 'הדגמה' למזהה ההזמנה
- לוחצים על 'יצירה'.