עבודה עם הזמנות של יחידות קיבולת (Slot) בגרסה הקודמת
BigQuery Reservation API מאפשר לכם לרכוש משבצות זמן ייעודיות (שנקראות התחייבויות), ליצור מאגרי משבצות זמן (שנקראים הזמנות) ולהקצות פרויקטים, תיקיות וארגונים להזמנות האלה.
הזמנות מאפשרות להקצות מספר ייעודי של משבצות לטעינת עומס עבודה. לדוגמה, יכול להיות שלא תרצו שעומס עבודה בסביבת ייצור יתחרה עם עומסי עבודה של בדיקות על משבצות. אפשר ליצור הזמנה בשם prod ולהקצות לה את עומסי העבודה של סביבת הייצור. מידע נוסף זמין במאמר בנושא הזמנות.
יצירת הזמנות
ההרשאות הנדרשות
כדי ליצור הזמנה, אתם צריכים את ההרשאה הבאה לניהול זהויות והרשאות גישה (IAM):
bigquery.reservations.createבפרויקט הניהול שבו נשמרת הבעלות על ההתחייבויות.
כל אחד מהתפקידים הבאים שמוגדרים מראש ב-IAM כולל את ההרשאה הזו:
BigQuery AdminBigQuery Resource AdminBigQuery Resource Editor
מידע נוסף על תפקידי IAM ב-BigQuery זמין במאמר תפקידים והרשאות מוגדרים מראש.
יצירת בקשה לשמירת מקום עם משבצות ייעודיות
בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על ניהול קיבולת.
לוחצים על יצירת בקשה לשמירת מקום.
בשדה Reservation name, מזינים שם להזמנה.
בתפריט הנפתח מיקום, בוחרים את המיקום.
בקטע מודל קיבולת, בוחרים את מודל הקיבולת.
אם בוחרים באפשרות תעריף קבוע, בשדה משבצות זמן בסיסיות מזינים את מספר משבצות הזמן להזמנה.
- ברשימה 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 זמין במאמר תפקידים והרשאות מוגדרים מראש.
שינוי הגודל של הזמנה
אפשר להוסיף או להסיר משבצות זמן מהזמנה קיימת.
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על ניהול קיבולת.
לוחצים על הכרטיסייה הזמנות.
מאתרים את ההזמנה שרוצים לעדכן.
מרחיבים את האפשרות Actions (פעולות).
לוחצים על Edit.
בתיבת הדו-שיח בחירת גודל ההזמנה המקסימלי, מזינים את גודל ההזמנה המקסימלי.
בשדה Baseline slots (משבצות בסיסיות), מזינים את מספר המשבצות הבסיסיות.
לוחצים על Save.
SQL
כדי לשנות את הגודל של הזמנה, משתמשים בהצהרה של שפת הגדרת נתונים (DDL) ALTER RESERVATION SET OPTIONS.
במסוף 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 זמין במאמר תפקידים והרשאות מוגדרים מראש.
מחיקת הזמנה
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על ניהול קיבולת.
לוחצים על הכרטיסייה הזמנות.
מוצאים את ההזמנה שרוצים למחוק.
מרחיבים את האפשרות 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 מגן על פרויקט הניהול, על הפרויקט של המקבל, על התיקייה ועל הארגון.