במדריך הזה תיצרו תצוגה מורשית ב-BigQuery, שבה מנתחי הנתונים יוכלו להשתמש כדי לנתח את תוצאות השאילתה בלי צורך בגישה לנתוני המקור הבסיסיים.
כדי לעשות את זה, יוצרים את התצוגה המורשית משאילתת SQL שמגבילה את העמודות שמנתחי הנתונים יכולים לראות בתוצאות השאילתה.
מטרות
- יוצרים קבוצת נתונים שתכיל את נתוני המקור.
- מריצים שאילתה כדי לטעון נתונים לטבלת יעד במערך הנתונים של המקור.
- יוצרים קבוצת נתונים שתכיל את התצוגה המורשית.
- יוצרים תצוגה מורשית משאילתת SQL שמגבילה את העמודות שמנתחי הנתונים יכולים לראות בתוצאות השאילתה.
- לתת למנתחי הנתונים הרשאה להריץ משימות של שאילתות.
- נותנים למנתחי הנתונים גישה למערך הנתונים שמכיל את התצוגה המורשית.
- נותנים לתצוגה המורשית גישה למערך הנתונים של המקור.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
בעזרת מחשבון העלויות אתם יכולים להעריך את העלויות בהתאם לשימוש הצפוי.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
מפעילים את BigQuery API, אם הוא עדיין לא מופעל.
התפקידים שנדרשים כדי להפעיל ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה
serviceusage.services.enable. אם אתם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, אתם יכולים לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים?- מוודאים שיש לכם את ההרשאות הנדרשות כדי לבצע את המשימות שמפורטות במסמך הזה.
יצירת קבוצת נתונים לאחסון נתוני המקור
קודם כל, יוצרים קבוצת נתונים לאחסון נתוני המקור.
כדי ליצור את מערך הנתונים של המקור, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף BigQuery.
בחלונית השמאלית, לוחצים על Explorer:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, לצד הפרויקט שבו רוצים ליצור את מערך הנתונים, לוחצים על View actions > Create dataset.
בדף Create dataset, מבצעים את הפעולות הבאות:
בשדה Dataset ID, מזינים
github_source_data.בשדה Location type, מוודאים שהאפשרות Multi-region מסומנת.
בקטע Multi-region, בוחרים באפשרות US או EU. כל המשאבים שתיצרו במדריך הזה צריכים להיות באותו מיקום במספר אזורים.
לוחצים על Create dataset.
SQL
משתמשים בהצהרת ה-DDL CREATE SCHEMA:
נכנסים לדף BigQuery במסוף Google Cloud .
בעורך השאילתות, מזינים את ההצהרה הבאה:
CREATE SCHEMA github_source_data;
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
יצירת טבלה וטעינה של נתוני המקור
אחרי שיוצרים את מערך הנתונים של המקור, מאכלסים בו טבלה על ידי שמירת התוצאות של שאילתת SQL בטבלת יעד. השאילתה מאחזרת נתונים ממערך הנתונים הציבורי של GitHub.
המסוף
נכנסים לדף BigQuery.
בעורך השאילתות, מזינים את השאילתה הבאה:
SELECT commit, author, committer, repo_name FROM `bigquery-public-data.github_repos.commits` LIMIT 1000;לוחצים על עריכה > הגדרות השאילתה.
בשדה Destination, בוחרים באפשרות Set a destination table for query results.
בשדה Dataset, מזינים
PROJECT_ID.github_source_data.מחליפים את
PROJECT_IDבמזהה הפרויקט.בשדה Table Id, מזינים
github_contributors.לוחצים על Save.
לוחצים על Run.
כשהשאילתה מסתיימת, בחלונית Explorer לוחצים על Datasets ואז על מערך הנתונים
github_source_data.לוחצים על Overview > Tables ואז על הטבלה
github_contributors.כדי לוודא שהנתונים נכתבו בטבלה, לוחצים על הכרטיסייה Preview.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
יצירת מערך נתונים לאחסון התצוגה המורשית
אחרי שיוצרים את מערך הנתונים של המקור, יוצרים מערך נתונים חדש ונפרד כדי לאחסן את התצוגה המורשית שמשתפים עם מנתחי הנתונים. בשלב מאוחר יותר, תעניקו לתצוגה המורשית גישת צפייה לנתונים שבמערך הנתונים המקורי. למנתחי הנתונים תהיה גישה לתצוגה המורשית, אבל לא גישה ישירה לנתוני המקור.
צריך ליצור תצוגות מורשות בקבוצת נתונים שונה מזו של נתוני המקור. כך בעלי הנתונים יכולים לתת למשתמשים גישה לתצוגה המורשית בלי לתת להם גישה לנתונים הבסיסיים. מערך הנתונים של נתוני המקור ומערך הנתונים של התצוגה המורשית צריכים להיות באותו מיקום אזורי.
כדי ליצור קבוצת נתונים לאחסון התצוגה, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף BigQuery.
בחלונית השמאלית, לוחצים על Explorer:

בחלונית Explorer, בוחרים את הפרויקט שבו רוצים ליצור את מערך הנתונים.
מרחיבים את האפשרות View actions ולוחצים על Create dataset.
בדף Create dataset, מבצעים את הפעולות הבאות:
בשדה Dataset ID, מזינים
shared_views.בשדה Location type, מוודאים שהאפשרות Multi-region מסומנת.
בקטע Multi-region, בוחרים באפשרות US או EU. כל המשאבים שתיצרו במדריך הזה צריכים להיות באותו מיקום במספר אזורים.
לוחצים על Create dataset.
SQL
משתמשים בהצהרת ה-DDL CREATE SCHEMA:
נכנסים לדף BigQuery במסוף Google Cloud .
בעורך השאילתות, מזינים את ההצהרה הבאה:
CREATE SCHEMA shared_views;
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
יצירת התצוגה המורשית בקבוצת הנתונים החדשה
במערך הנתונים החדש, יוצרים את התצוגה שרוצים לתת לה הרשאה. זו התצוגה שאתם משתפים עם מנתחי הנתונים שלכם. התצוגה הזו נוצרת באמצעות שאילתת SQL שלא כוללת את העמודות שאתם לא רוצים שמנתחי הנתונים יראו.
טבלת המקור github_contributors מכילה שני שדות מסוג RECORD: author ו-committer. במדריך הזה, התצוגה המורשית לא כוללת את כל נתוני המחבר, חוץ מהשם שלו, והיא לא כוללת את כל נתוני מבצע השינוי, חוץ מהשם שלו.
כדי ליצור את התצוגה בקבוצת הנתונים החדשה, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף BigQuery.
בעורך השאילתות, מזינים את השאילתה הבאה.
SELECT commit, author.name AS author, committer.name AS committer, repo_name FROM `PROJECT_ID.github_source_data.github_contributors`;
מחליפים את
PROJECT_IDבמזהה הפרויקט.לוחצים על קובץ > שמירה > שמירת התצוגה.
בתיבת הדו-שיח Save view:
מוודאים שהפרויקט שלכם נבחר בשדה Project.
בשדה Dataset, מזינים
shared_views.בשדה Table, מזינים
github_analyst_view.לוחצים על Save.
SQL
משתמשים בהצהרת ה-DDL CREATE VIEW:
נכנסים לדף BigQuery במסוף Google Cloud .
בעורך השאילתות, מזינים את ההצהרה הבאה:
CREATE VIEW shared_views.github_analyst_view AS ( SELECT commit, author.name AS author, committer.name AS committer, repo_name FROM `PROJECT_ID.github_source_data.github_contributors` );
מחליפים את
PROJECT_IDבמזהה הפרויקט.לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
מתן הרשאה למנתחי הנתונים להריץ משימות של שאילתות
כדי לשלוח שאילתות לתצוגה, מנתחי הנתונים צריכים את ההרשאה bigquery.jobs.create כדי שיוכלו להריץ משימות של שאילתות. ההרשאה הזו נדרשת רק בפרויקט שבו פועלת משימת השאילתה (הפרויקט לחיוב או הפרויקט להרצה), שיכול להיות שונה מהפרויקט שמכיל את התצוגה.
בקטע הזה, אתם נותנים למנתחי הנתונים את התפקיד bigquery.user בפרויקט שבו הם משתמשים כדי להריץ את המשימות שלהם. התפקיד bigquery.user כולל את ההרשאה bigquery.jobs.create. בשלב מאוחר יותר, תתנו למנתחי הנתונים הרשאת גישה לתצוגה.
כדי להקצות לקבוצת מנתחי הנתונים את התפקיד bigquery.user בפרויקט שבו הם משתמשים להרצת המשימות:
נכנסים לדף IAM במסוף Google Cloud .
מוודאים שהפרויקט שהמנתחים משתמשים בו כדי להריץ את המשימות שלהם נבחר בבורר הפרויקטים.
לוחצים על Grant access.
בתיבת הדו-שיח Grant access to:
בשדה New principals, מזינים את הקבוצה שמכילה את מנתחי הנתונים. לדוגמה,
data_analysts@example.com.בשדה Select a role, מחפשים את התפקיד BigQuery User ובוחרים אותו.
לוחצים על Save.
מתן הרשאה למנתחי הנתונים להריץ שאילתות על התצוגה המורשית
כדי שמנתחי הנתונים יוכלו לשלוח שאילתות לתצוגה, צריך להקצות להם את התפקיד bigquery.dataViewer ברמת מערך הנתונים או ברמת התצוגה.
הקצאת התפקיד הזה ברמת מערך הנתונים נותנת למנתחי הנתונים גישה לכל הטבלאות והתצוגות במערך הנתונים. מכיוון שמערך הנתונים שנוצר במדריך הזה מכיל תצוגה מורשית אחת, אתם מעניקים גישה ברמת מערך הנתונים. אם יש לכם אוסף של תצוגות מורשות שאתם צריכים לתת להן גישה, כדאי להשתמש במקום זאת במערך נתונים מורשה.
התפקיד bigquery.user שהקציתם למנתחי הנתונים נותן להם את ההרשאות שנדרשות כדי ליצור משימות של שאילתות בפרויקט שבו המשימות האלה פועלות. עם זאת, הם לא יכולים לשלוח שאילתות לתצוגה, אלא אם יש להם גם גישת bigquery.dataViewer לתצוגה המורשית או למערך הנתונים שמכיל את התצוגה.
כדי לתת למנתחי הנתונים bigquery.dataViewer גישה לקבוצת הנתונים שמכילה את התצוגה המורשית:
המסוף
נכנסים לדף BigQuery.
בחלונית השמאלית, לוחצים על Explorer:

בחלונית Explorer, לוחצים על Datasets ובוחרים את קבוצת הנתונים
shared_viewsכדי לפתוח את הכרטיסייה Details.לוחצים על שיתוף > הרשאות.
בחלונית Share permissions, לוחצים על Add principal.
בשדה New principals, מזינים את הקבוצה שמכילה את מנתחי הנתונים, לדוגמה
data_analysts@example.com.לוחצים על Select a role ובוחרים באפשרות BigQuery > BigQuery Data Viewer.
לוחצים על Save.
לוחצים על Close.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
איך מאשרים לתצוגה לגשת למערך הנתונים של המקור
אחרי שיוצרים אמצעי בקרת גישה למערך הנתונים שמכיל את התצוגה המורשית, נותנים לתצוגה המורשית גישה למערך הנתונים של המקור. ההרשאה הזו נותנת לתצוגה גישה לנתוני המקור, אבל לא לקבוצת מנתחי הנתונים.
כדי לתת לתצוגה המורשית גישה לנתוני המקור, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף BigQuery.
בחלונית השמאלית, לוחצים על Explorer:

בחלונית Explorer, לוחצים על Datasets ובוחרים את קבוצת הנתונים
github_source_dataכדי לפתוח את הכרטיסייה Details.לוחצים על שיתוף > הרשאת תצוגות.
בחלונית Authorized views, בשדה Authorized view מזינים את הערך
PROJECT_ID.shared_views.github_analyst_view.מחליפים את PROJECT_ID במזהה הפרויקט.
לוחצים על הוספת הרשאה.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
אימות ההגדרות האישיות
בסיום ההגדרה, חבר בקבוצת מנתחי הנתונים (לדוגמה, data_analysts) יכול לאמת את ההגדרה על ידי שליחת שאילתה לתצוגה.
כדי לאמת את ההגדרה, מנתח נתונים צריך להריץ את השאילתה הבאה:
נכנסים לדף BigQuery.
בעורך השאילתות, מזינים את ההצהרה הבאה:
SELECT * FROM `
PROJECT_ID.shared_views.github_analyst_view`;מחליפים את
PROJECT_IDבמזהה הפרויקט.לוחצים על הפעלה.
תוצאות השאילתה דומות לתוצאות הבאות. בתוצאות מוצגים רק שם המחבר ושם המאשר.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
קוד מקור מלא
כאן מופיע קוד המקור המלא של המדריך, לעיונכם.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים או להשאיר את הפרויקט ולמחוק את המשאבים הנפרדים.
מחיקת הפרויקט
המסוף
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
gcloud
כדי למחוק פרויקט ב- Google Cloud :
gcloud projects delete PROJECT_ID
מחיקת משאבים ספציפיים
לחלופין, כדי להסיר את המשאבים הספציפיים שבהם השתמשתם במדריך הזה:
מוחקים את מערך הנתונים שמכיל את התצוגה המורשית.
מוחקים את הטבלה במערך הנתונים המקורי.
מכיוון שיצרתם את המשאבים שבהם השתמשתם במדריך הזה, לא נדרשות הרשאות נוספות כדי למחוק אותם.
המאמרים הבאים
- במאמר תפקידים והרשאות של IAM ב-BigQuery מוסבר על אמצעי בקרת הגישה ב-BigQuery.
- מבוא לתצוגות לוגיות
- מידע נוסף על תצוגות מורשות
- בסקירה הכללית על IAM תוכלו לקרוא על המושגים הבסיסיים של בקרת גישה.
- איך מנהלים את כללי המדיניות של בקרת הגישה