עבודה עם הזמנות של יחידות קיבולת (Slot) בגרסה הקודמת
BigQuery Reservation API מאפשר לכם לרכוש משבצות זמן ייעודיות (שנקראות התחייבויות), ליצור מאגרי משבצות זמן (שנקראים הזמנות) ולהקצות פרויקטים, תיקיות וארגונים להזמנות האלה.
הזמנות מאפשרות להקצות מספר ייעודי של משבצות לטובת עומס עבודה. לדוגמה, יכול להיות שלא תרצו שעומס עבודה בסביבת ייצור יתחרה עם עומסי עבודה של בדיקות על משבצות. אפשר ליצור הזמנה בשם prod ולהקצות לה את עומסי העבודה של סביבת הייצור. מידע נוסף זמין במאמר בנושא הזמנות.
יצירת הזמנות
ההרשאות הנדרשות
כדי ליצור הזמנה, אתם צריכים את ההרשאה הבאה לניהול זהויות והרשאות גישה (IAM):
bigquery.reservations.createבפרויקט הניהול שבו נשמרת הבעלות על ההתחייבויות.
כל אחד מהתפקידים הבאים שמוגדרים מראש ב-IAM כולל את ההרשאה הזו:
BigQuery AdminBigQuery Resource AdminBigQuery Resource Editor
מידע נוסף על תפקידי IAM ב-BigQuery זמין במאמר תפקידים והרשאות מוגדרים מראש.
יצירת בקשה לשמירת מקום עם משבצות ייעודיות
בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
בתפריט הניווט, לוחצים על Workload management.
לוחצים על יצירת בקשה לשמירת מקום.
בשדה Reservation name, מזינים שם להזמנה.
בתפריט הנפתח מיקום, בוחרים את המיקום.
בקטע Capacity Model (מודל קיבולת), בוחרים את מודל הקיבולת.
אם בוחרים באפשרות תעריף קבוע, בקטע משבצות זמן בסיסיות, מזינים את מספר משבצות הזמן להזמנה.
- ברשימה Max reservation size selector, בוחרים את הגודל המקסימלי של ההזמנה.
אופציונלי: בשדה Baseline slots, מזינים את מספר המשבצות הבסיסיות להזמנה. כדי להשתמש רק בקיבולת יחידות הקיבולת שצוינה, לוחצים על המתג התעלמות מיחידות קיבולת לא פעילות.
כדי לחשב את מספר המשבצות הזמינות לשינוי גודל אוטומטי, מפחיתים את ערך משבצות הבסיס מערך הגודל המקסימלי של ההזמנה. לדוגמה, אם יוצרים הזמנה עם 100 משבצות זמן בסיסיות וגודל הזמנה מקסימלי של 400, ההזמנה כוללת 300 משבצות זמן של שינוי גודל אוטומטי. מידע נוסף על משבצות בסיסיות זמין במאמר בנושא שימוש בהזמנות עם משבצות בסיסיות ומשבצות של שינוי גודל אוטומטי.
כדי להשבית את השיתוף של משבצות זמן פנויות, לוחצים על המתג התעלמות ממשבצות זמן פנויות.
פירוט המשבצות מוצג בטבלה Cost estimate. סיכום של ההזמנה מוצג בטבלה Capacity summary.
לוחצים על Save.
ההזמנה החדשה מופיעה בכרטיסייה הזמנות.
SQL
כדי ליצור הזמנה, משתמשים במשפט CREATE RESERVATION DDL.
במסוף Google Cloud , עוברים לדף BigQuery.
בעורך השאילתות, מזינים את ההצהרה הבאה:
CREATE RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, );
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו משאב ההזמנה -
LOCATION: המיקום של ההזמנה. אם בוחרים מיקום ב-BigQuery Omni, אפשר לבחור רק במהדורת Enterprise.
RESERVATION_NAME: השם של ההזמנההוא צריך להתחיל ולהסתיים באות קטנה או במספר ולהכיל רק אותיות קטנות, מספרים ומקפים.
-
NUMBER_OF_BASELINE_SLOTS: מספר משבצות הבסיס להקצאה להזמנה. אי אפשר להגדיר את האפשרותslot_capacityואת האפשרותeditionבאותה הזמנה. -
EDITION: מהדורת ההזמנה. הקצאת הזמנה למהדורה מסוימת מביאה לשינויים בתכונות ובמחירים. מידע נוסף זמין במאמר מבוא למהדורות BigQuery. -
NUMBER_OF_AUTOSCALING_SLOTS: מספר המשבצות להרחבת הקיבולת שהוקצו להזמנה. הערך הזה שווה לערך של גודל ההזמנה המקסימלי פחות מספר המשבצות הבסיסיות.
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
כדי ליצור הזמנה, משתמשים בפקודה bq mk עם הדגל --reservation:
bq mk \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--reservation \
--slots=NUMBER_OF_BASELINE_SLOTS \
--ignore_idle_slots=false \
RESERVATION_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט -
LOCATION: המיקום של ההזמנה. אם בוחרים מיקום ב-BigQuery Omni, אפשר לבחור רק במהדורת Enterprise.
NUMBER_OF_BASELINE_SLOTS: מספר משבצות הבסיס להקצאה להזמנה
RESERVATION_NAME: השם של ההזמנה
EDITION: מהדורת ההזמנה. הקצאת הזמנה למהדורה מסוימת מביאה לשינויים בתכונות ובמחירים. מידע נוסף זמין במאמר מבוא למהדורות BigQuery.
NUMBER_OF_AUTOSCALING_SLOTS: מספר המשבצות להרחבת הקיבולת שהוקצו להזמנה. הערך הזה שווה לערך של גודל ההזמנה המקסימלי פחות מספר המשבצות הבסיסיות.
מידע על הדגל --ignore_idle_slots זמין במאמר בנושא משבצות זמן פנויות. ערך ברירת המחדל הוא false.
Python
עדכון הזמנות
אפשר לבצע את העדכונים הבאים בהזמנה:
- משנים את גודל ההזמנה על ידי הוספה או הסרה של משבצות זמן.
- הגדרת האפשרות להשתמש במשבצות פנויות בשאילתות בהזמנה הזו.
- שינוי מספר המשבצות של קו הבסיס או של שינוי הגודל האוטומטי שהוקצו להזמנה.
ההרשאות הנדרשות
כדי לעדכן הזמנה, אתם צריכים את ההרשאה הבאה לניהול זהויות והרשאות גישה (IAM):
bigquery.reservations.updateבפרויקט הניהול שבו נשמרת הבעלות על ההתחייבויות.
כל אחד מהתפקידים הבאים שמוגדרים מראש ב-IAM כולל את ההרשאה הזו:
BigQuery AdminBigQuery Resource AdminBigQuery Resource Editor
מידע נוסף על תפקידי IAM ב-BigQuery זמין במאמר תפקידים והרשאות מוגדרים מראש.
שינוי הגודל של הזמנה
אפשר להוסיף או להסיר משבצות זמן מהזמנה קיימת.
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
בתפריט הניווט, לוחצים על Workload management.
לוחצים על הכרטיסייה הזמנות.
מאתרים את ההזמנה שרוצים לעדכן.
מרחיבים את האפשרות Actions (פעולות).
לוחצים על Edit.
בתיבת הדו-שיח Max reservation size selector (בורר הגודל המקסימלי של ההזמנה), מזינים את הגודל המקסימלי של ההזמנה.
בשדה משבצות בסיסיות, מזינים את מספר המשבצות הבסיסיות.
לוחצים על Save.
SQL
כדי לשנות את הגודל של הזמנה, משתמשים ב
ALTER RESERVATION SET OPTIONSהצהרה של שפת הגדרת נתונים (DDL).
במסוף Google Cloud , עוברים לדף BigQuery.
בעורך השאילתות, מזינים את ההצהרה הבאה:
ALTER RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` SET OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, );
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו משאב ההזמנה -
LOCATION: המיקום של השמירה, לדוגמהeurope-west9.
RESERVATION_NAME: השם של השמירה. הוא צריך להתחיל ולהסתיים באות קטנה או במספר ולהכיל רק אותיות קטנות, מספרים ומקפים.-
NUMBER_OF_BASELINE_SLOTS: מספר משבצות הבסיס להקצאה להזמנה.
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
כדי לעדכן את גודל ההזמנה, משתמשים בפקודה bq update עם הדגל --reservation:
bq update \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--slots=NUMBER_OF_BASELINE_SLOTS \
--reservation RESERVATION_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט -
LOCATION: המיקום של ההזמנה -
NUMBER_OF_BASELINE_SLOTS: מספר משבצות הבסיס להקצאה להזמנה -
RESERVATION_NAME: השם של ההזמנה
Python
הגדרת האפשרות להשתמש ביחידות קיבולת פנויות בשאילתות
הדגל --ignore_idle_slots קובע אם שאילתות שמופעלות בהזמנה יכולות להשתמש במשבצות פנויות מהזמנות אחרות. מידע נוסף מופיע במאמר בנושא משבצות זמן פנויות. אפשר לעדכן את ההגדרה הזו בהזמנה קיימת.
כדי לעדכן הזמנה, משתמשים בפקודה bq update עם הדגל --reservation . בדוגמה הבאה, הערך של --ignore_idle_slots מוגדר ל-true, כלומר המקום השמור ישתמש רק במשבצות שהוקצו לו.
bq update \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--ignore_idle_slots=true \
--reservation RESERVATION_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט -
LOCATION: המיקום של ההזמנה -
RESERVATION_NAME: השם של ההזמנה
הצגת ההגדרה של משבצות זמן פנויות
כדי להציג את ההגדרה idle slots של הזמנה:
SQL
שליחת שאילתה לעמודה ignore_idle_slots של התצוגה INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT.
במסוף Google Cloud , עוברים לדף BigQuery.
בעורך השאילתות, מזינים את ההצהרה הבאה:
SELECT reservation_name, ignore_idle_slots FROM `ADMIN_PROJECT_ID.region-LOCATION`.INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT;
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו משאבי ההזמנה -
LOCATION: המיקום של ההזמנות
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
משתמשים בפקודה bq ls עם הדגל --reservation:
bq ls --reservation \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו משאבי המקום השמור -
LOCATION: המיקום של ההזמנות
השדה ignoreIdleSlots מכיל את הגדרת התצורה.
מחיקת הזמנות
כשמוחקים הזמנה, כל המשימות שמופעלות כרגע עם משבצות מההזמנה הזו ייכשלו. כדי למנוע שגיאות, צריך לאפשר להפעלת משימות להסתיים לפני שמוחקים את ההזמנה.
ההרשאות הנדרשות
כדי למחוק הזמנה, אתם צריכים את ההרשאה הבאה לניהול זהויות והרשאות גישה (IAM):
bigquery.reservations.deleteבפרויקט הניהול שבו נשמרת הבעלות על ההתחייבויות.
כל אחד מהתפקידים הבאים שמוגדרים מראש ב-IAM כולל את ההרשאה הזו:
BigQuery AdminBigQuery Resource AdminBigQuery Resource Editor
מידע נוסף על תפקידי IAM ב-BigQuery זמין במאמר תפקידים והרשאות מוגדרים מראש.
מחיקת הזמנה
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
בתפריט הניווט, לוחצים על Workload management.
לוחצים על הכרטיסייה הזמנות.
מחפשים את ההזמנה שרוצים למחוק.
מרחיבים את האפשרות Actions (פעולות).
לוחצים על Delete.
בתיבת הדו-שיח מחיקת ההזמנה, לוחצים על מחיקה.
SQL
כדי למחוק הזמנה, משתמשים בהצהרת DROP RESERVATION DDL.
במסוף Google Cloud , עוברים לדף BigQuery.
בעורך השאילתות, מזינים את ההצהרה הבאה:
DROP RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME`;
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו משאב ההזמנה -
LOCATION: המיקום של ההזמנה -
RESERVATION_NAME: המזהה של השריון
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
כדי למחוק הזמנה, משתמשים בפקודה bq rm עם הדגל --reservation:
bq rm \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--reservation RESERVATION_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו משאב המקום השמור -
LOCATION: המיקום של ההזמנה -
RESERVATION_NAME: השם של ההזמנה
Python
הוספת BigQuery Reservation API ל-VPC Service Controls
BigQuery Reservation API תומך ב-VPC Service Controls. כדי לשלב את BigQuery Reservation API עם VPC Service Controls, פועלים לפי ההוראות במאמר יצירת גבולות גזרה לשירות ומוסיפים את BigQuery Reservation API לשירותים המוגנים.
גבולות גזרה לשירות מגנים על הגישה להזמנות, להתחייבויות ולהקצאות בפרויקטים של ניהול שצוינו בגבולות הגזרה. כשיוצרים הקצאה, VPC Service Controls מגן על פרויקט הניהול, על הפרויקט של מקבל ההקצאה, על התיקייה ועל הארגון.