ניהול טבלאות מסודרות באשכולות
אחרי שיוצרים טבלה מסודרת באשכולות ב-BigQuery, אפשר לקבוע מי יכול לגשת אליה, לבדוק את המאפיינים שלה ולשנות את עמודות האשכולות שלה בהתאם לשינויים במבנה השאילתות. במסמך הזה נסביר איך לשלוט בגישה לטבלאות מסודרות באשכולות, איך לקבל מידע עליהן, איך להציג את רשימת הטבלאות המסודרות באשכולות בקבוצת נתונים ואיך לשנות את מפרט הסידור באשכולות.
למידע ולמידה על טבלאות מסודרות באשכולות, ראו מבוא לטבלאות מסודרות באשכולות. כדי ליצור טבלה מסודרת באשכולות, ראו יצירת טבלאות באשכולות.
לפני שמתחילים
כדי לקבל מידע על טבלאות, צריכה להיות לכם ההרשאה bigquery.tables.get. התפקידים המוגדרים מראש הבאים ב-IAM כוללים הרשאות bigquery.tables.get:
roles/bigquery.metadataViewerroles/bigquery.dataViewerroles/bigquery.dataOwnerroles/bigquery.dataEditorroles/bigquery.admin
בנוסף, אם למשתמש יש את ההרשאה bigquery.datasets.create, כשהוא יוצר מערך נתונים, הוא מקבל גישה אליו ברמת bigquery.dataOwner.
גישה מסוג bigquery.dataOwner מאפשרת למשתמש לקבל מידע על טבלאות במערך נתונים.
במאמר תפקידים והרשאות מוגדרים מראש תוכלו לקרוא מידע נוסף על תפקידים והרשאות של IAM ב-BigQuery.
שליטה בגישה לטבלאות מסודרות באשכולות
כדי להגדיר גישה לטבלאות ולתצוגות, אתם יכולים להקצות תפקיד IAM לישות ברמות הבאות, שמפורטות לפי סדר טווח המשאבים המותרים (מהגדול ביותר לקטן ביותר):
- רמה גבוהה בCloud de Confiance by S3NS היררכיית המשאבים, כמו רמת הפרויקט, התיקייה או הארגון
- רמת מערך הנתונים
- רמת הטבלה או התצוגה
אתם יכולים גם להגביל את הגישה לנתונים בתוך טבלאות, בשיטות הבאות:
הגישה לכל משאב שמוגן על ידי IAM היא מצטברת. לדוגמה, אם לישות אין גישה ברמה גבוהה כמו פרויקט, אפשר לתת לה גישה ברמת מערך הנתונים, ואז תהיה לה גישה לטבלאות ולתצוגות במערך הנתונים. באופן דומה, אם לישות אין גישה ברמה הגבוהה או ברמת מערך הנתונים, אפשר לתת לה גישה ברמת הטבלה או התצוגה.
כשמקצים תפקידי IAM ברמה גבוהה יותר בהיררכיית המשאבים שלCloud de Confiance by S3NS, כמו ברמת הפרויקט, התיקייה או הארגון, הישות מקבלת גישה לקבוצה רחבה של משאבים. לדוגמה, אם נותנים לישות תפקיד ברמת הפרויקט, הישות מקבלת הרשאות שחלות על כל מערכי הנתונים בפרויקט.
הקצאת תפקיד ברמת מערך הנתונים מגדירה את הפעולות שהישות יכולה לבצע בטבלאות ובתצוגות במערך הנתונים הספציפי הזה, גם אם לישות אין גישה ברמה גבוהה יותר. במאמר שליטה בגישה למערכי נתונים מוסבר איך מגדירים בקרת גישה ברמת מערך הנתונים.
הקצאת תפקיד ברמת הטבלה או התצוגה מגדירה את הפעולות שהישות יכולה לבצע בטבלאות ובתצוגות ספציפיות, גם אם לישות אין גישה ברמה גבוהה יותר. במאמר שליטה בגישה לטבלאות ולתצוגות מוסבר איך מגדירים אמצעי בקרה על הגישה ברמת הטבלה.
אתם יכולים גם ליצור תפקידים בהתאמה אישית ב-IAM. אם אתם יוצרים תפקיד בהתאמה אישית, ההרשאות שאתם נותנים תלויות בפעולות הספציפיות שאתם רוצים שהישות תוכל לבצע.
אי אפשר להגדיר הרשאת "דחייה" במשאב שמוגן על ידי IAM.
למידע נוסף על תפקידים והרשאות, קראו את המאמר הסבר על תפקידים במסמכי התיעוד של IAM ואת המאמר תפקידים והרשאות של IAM ב-BigQuery.
קבלת מידע על טבלאות מסודרות באשכולות
בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף Cloud de Confiance , נכנסים לחלונית Resources.
לוחצים על השם של מערך הנתונים כדי להרחיב אותו, ואז לוחצים על שם הטבלה שרוצים להציג.
לוחצים על פרטים.
פרטי הטבלה מוצגים, כולל עמודות האשכולות.
SQL
בטבלאות מסודרות באשכולות, אפשר לשלוח שאילתה לעמודה CLUSTERING_ORDINAL_POSITION בתצוגה INFORMATION_SCHEMA.COLUMNS כדי למצוא את ההיסט של העמודה באינדקס 1 בתוך עמודות האשכולות של הטבלה:
נכנסים לדף BigQuery במסוף Cloud de Confiance .
בעורך השאילתות, מזינים את ההצהרה הבאה:
CREATE TABLE mydataset.data (column1 INT64, column2 INT64) CLUSTER BY column1, column2; SELECT column_name, clustering_ordinal_position FROM mydataset.INFORMATION_SCHEMA.COLUMNS;
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
המיקום הסידורי של האשכול הוא 1 ל-column1 ו-2 ל-column2.
אפשר לקבל עוד מטא-נתונים של טבלאות דרך התצוגות TABLES, TABLE_OPTIONS, COLUMNS ו-COLUMN_FIELD_PATH ב-INFORMATION_SCHEMA.
BQ
מפעילים את הפקודה bq show כדי להציג את כל המידע בטבלה. משתמשים בדגל --schema כדי להציג רק את פרטי הסכימה של הטבלה. אפשר להשתמש בדגל --format כדי לשלוט בפלט.
אם אתם מקבלים מידע על טבלה בפרויקט שהוא לא פרויקט ברירת המחדל, הוסיפו את מזהה הפרויקט למערך הנתונים בפורמט הבא: project_id:dataset.
bq show \ --schema \ --format=prettyjson \ PROJECT_ID:DATASET.TABLE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
DATASET: שם מערך הנתונים -
TABLE: שם הטבלה
דוגמאות:
מזינים את הפקודה הבאה כדי להציג את כל המידע על myclusteredtable ב-mydataset. mydataset בפרויקט ברירת המחדל.
bq show --format=prettyjson mydataset.myclusteredtable
הפלט אמור להיראות כך:
{
"clustering": {
"fields": [
"customer_id"
]
},
...
}
API
מפעילים את השיטה bigquery.tables.get ומספקים את הפרמטרים הרלוונטיים.
הצגת רשימה של טבלאות מסודרות באשכולות במערך נתונים
ההרשאות שנדרשות כדי להציג רשימה של טבלאות מסודרות באשכולות והשלבים להצגת הרשימה זהים לאלה של טבלאות רגילות. למידע נוסף, קראו את המאמר הצגת טבלאות במערך נתונים.
שינוי מפרט האשכולות
אתם יכולים לשנות או להסיר את מפרטי הסידור באשכולות של טבלה, או לשנות את קבוצת העמודות המסודרות באשכולות בטבלה מסודרת באשכולות. השיטה הזו לעדכון קבוצת עמודות האשכולות שימושית לטבלאות שמשתמשות בהזנת זרם נתונים רציפה, כי אי אפשר להחליף את הטבלאות האלה בקלות בשיטות אחרות.
כדי להחיל מפרט אשכולות חדש על טבלאות מחולקות או לא מחולקות, פועלים לפי השלבים הבאים.
בכלי bq, מעדכנים את מפרט האשכולות של הטבלה כך שיתאים לאשכולות החדשים:
bq update --clustering_fields=CLUSTER_COLUMN DATASET.ORIGINAL_TABLE
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_COLUMN: העמודה שמשמשת לאשכולות, לדוגמהmycolumn -
DATASET: שם מערך הנתונים שמכיל את הטבלה, לדוגמהmydataset -
ORIGINAL_TABLE: השם של הטבלה המקורית, לדוגמהmytable
אפשר גם להפעיל את ה-method
tables.updateאוtables.patchב-API כדי לשנות את מפרט האשכולות.-
כדי לאשכול את כל השורות בהתאם למפרט האשכולות החדש, מריצים את הצהרת
UPDATEהבאה:UPDATE DATASET.ORIGINAL_TABLE SET CLUSTER_COLUMN=CLUSTER_COLUMN WHERE true
המאמרים הבאים
- למידע נוסף על שליחת שאילתות לטבלאות מסודרות באשכולות, ראו שליחת שאילתות לטבלאות מסודרות באשכולות.
- לסקירה כללית על התמיכה בטבלאות מחולקות למחיצות ב-BigQuery, קראו את המאמר מבוא לטבלאות מחולקות למחיצות.
- במאמר יצירת טבלאות מחולקות למחיצות מוסבר איך יוצרים טבלאות כאלה.