מבוא לפתרון בעיות
במאמר הזה מוסבר על כלי האבחון, ממשקי הטלמטריה ומקורות המידע שזמינים לכם כדי לעזור לכם לפתור בעיות ב-BigQuery.
אם נתקלתם בכשלים בשאילתות, בצווארי בקבוק בביצועים, בשגיאות הרשאה, במגבלות מכסה או בבעיות בהעברת נתונים, BigQuery מספק כלים מובנים שיעזרו לכם לזהות את שורשי הבעיות ולפתור אותן במהירות.
פתרון בעיות בתהליך העבודה
כדי לפתור בעיה ב-BigQuery בצורה יעילה, כדאי להשתמש בקריטריונים הבאים לאבחון:
- מזהים את הסימפטום ואת מצב הכשל. בודקים את התוצאות של המשימה כדי לדעת אם הבעיה היא כשל חמור (למשל קוד שגיאה או כשל במשימה), ירידה בביצועים (למשל שאילתה איטית או חוסר משבצות), דחיית הרשאה או פער לא צפוי בעלויות.
- בדיקת פרטי הביצוע של המשימה אפשר להשתמש ב Google Cloud מסוף כלי לבדיקת משימות, בתרשים של ביצוע שאילתות או בכלי שורת פקודה כדי לבדוק את התזמון ברמת השלב, את הקצאת המשבצות ואת פרטי השגיאות. אפשר גם לבקש מ-Gemini Cloud Assist לבדוק את הבעיה.
- ניתוח של טלמטריה ומטא-נתונים. אפשר להריץ שאילתות על תצוגות של סכימת מידע או לבדוק את יומני הביקורת של Cloud כדי לקשר בין התנהגות של משימות לבין מחלוקת על משאבים, מגבלות על הזמנות או שינויים אדמיניסטרטיביים.
- החלת אמצעים ממוקדים לצמצום הסיכון. כדי לפתור את הבעיה הבסיסית, אפשר להשתמש במדריכים לפתרון בעיות שספציפיים לקטגוריה או בפונקציות SQL הגנתיות.
ההבדל בין פתרון בעיות לבין אופטימיזציה
כשעובדים עם BigQuery, חשוב להבחין בין פתרון בעיות, אופטימיזציה של הביצועים ושיטות מומלצות:
- פתרון בעיות התמיכה מתמקדת באבחון ובפתרון של כשלים לא צפויים, שגיאות בזמן ריצה, צינורות שבורים, חריגה ממכסת השימוש או התנהגות לא מכוונת שמונעת את השלמת העבודות בהצלחה.
- אופטימיזציה של הביצועים. התמקדות בשיפור מהירות הביצוע, זמן האחזור או יעילות המשאבים של שאילתות ועומסי עבודה שכבר פועלים בהצלחה. מידע נוסף זמין במאמר בנושא אופטימיזציה של ביצועי שאילתות.
- שיטות מומלצות המאמר מתמקד בדפוסי ארכיטקטורה ועיצוב של מידול נתונים, אחסון, אבטחה וניהול עלויות. מידע נוסף זמין במאמר בנושא שיטות מומלצות.
כלי אבחון
בקטעים הבאים מתוארים כמה ממשקי BigQuery וכלים אוטומטיים שיעזרו לכם לאבחן בעיות בעומסי העבודה.
כלים חזותיים וכלים למסוף
הכלים הבאים עוזרים לפתור בעיות ב-BigQuery מתוך מסוףGoogle Cloud .
- Jobs Explorer. אפשר לחפש, לסנן ולבדוק משימות קודמות ופעילות בפרויקטים או בארגונים בלי לכתוב שאילתות SQL. אפשר לראות הודעות שגיאה, את השימוש במשבצות, את ציר הזמן של הביצוע ואת המטא-נתונים של העבודה. מידע נוסף זמין במאמר מעקב אחרי משימות ב-Jobs Explorer.
- תרשים של ביצוע השאילתה. בדיקה של תוכנית הביצוע הוויזואלית של שאילתה, שלב אחר שלב. תרשים הביצוע עוזר לכם לזהות צווארי בקבוק כמו העברה של נתונים לדיסק, שלבים שמוגבלים על ידי יכולת החישוב, חלוקת נתונים לא מאוזנת (partition skew) או עיכובים בקלט/פלט. מידע נוסף מופיע במאמר בנושא קבלת תובנות לגבי ביצועי שאילתות.
- תובנות לגבי שאילתות ותרשימי משאבים. אפשר לראות תרשימים היסטוריים ובזמן אמת של ניצול משבצות, מקבילות של משימות והקצאות של הזמנות כדי לאבחן מגבלות קיבולת. מידע נוסף זמין במאמר שימוש בתרשימים של משאבים אדמיניסטרטיביים.
- Gemini Cloud Assist ב-BigQuery קבלת ניתוח הקשרי של שאילתות שנכשלו וצווארי בקבוק בביצועים, בעזרת AI. Gemini Cloud Assist מסביר קודי שגיאה, מדגיש תחביר בעייתי של SQL ומציע שלבים לתיקון ישירות במסוףGoogle Cloud . מידע נוסף מופיע במאמר פתרון בעיות בשאילתות באמצעות Gemini Cloud Assist.
כלי אבחון אוטומטיים וכלי שורת פקודה
הכלים הבאים יכולים לעזור לכם לאבחן בעיות ב-BigQuery מממשק שורת פקודה.
- כלי שורת הפקודה של BigQuery. כדי לבדוק את מבני השגיאות המפורטים, מזהי הבקשות ומטא-נתונים של משימות, משתמשים בפקודה
bq show -j <var>JOB_ID</var>או מוסיפים את הדגל--format=prettyjsonלפקודות שאילתה. מידע נוסף זמין במאמר פתרון בעיות בפקודות CLI. gcpdiag. מריצים אבחון אוטומטי משורת הפקודה כדי לזהות בעיות נפוצות Google Cloud בהגדרות, כולל פערים בהרשאות IAM, הגבלות ברשת ושגיאות בחשבון שירות. מידע נוסף זמין במאמר פתרון בעיות בשאילתות שנכשלו באמצעותgcpdiag.
תצוגות של מטא-נתונים וטלמטריה
תצוגות של סכימת מידע מאפשרות לכם לשלוח שאילתות SQL סטנדרטי כדי לאחזר מטא-נתונים היסטוריים ובזמן אמת על משימות, קיבולת, הטמעת עדכונים בזמן אמת וקבוצות נתונים. התצוגות האלה כוללות את:
- טלמטריה של ביצוע משימות. שאילתות
INFORMATION_SCHEMA.JOBSו-INFORMATION_SCHEMA.JOBS_TIMELINEלניתוח צריכת אלפיות שנייה של משבצות, בייטים שנשפכו, זמני תור וקודי שגיאה בעבודות. - הזמנות וקיבולת. שאילתה
INFORMATION_SCHEMA.RESERVATIONSו-INFORMATION_SCHEMA.CAPACITY_COMMITMENTSכדי לאבחן הקצאת משבצות, מגבלות על הזמנות והתנהגויות של שינוי גודל אוטומטי. - סטרימינג והטמעה. שאילתה
INFORMATION_SCHEMA.STREAMING_TIMELINEכדי לזהות את זמן האחזור של ההעברה ואת מגבלות קצב הסטרימינג. - תקינות האחסון והמחיצות. שאילתה
INFORMATION_SCHEMA.TABLE_STORAGEכדי לבדוק את הגדלים של הטבלאות הפיזיות, את ההבדל בין אחסון פעיל לבין אחסון לטווח ארוך ואת חלוקת המחיצות.
מידע נוסף זמין במאמר מבוא ל-BigQuery INFORMATION_SCHEMA.
Cloud Monitoring ויומני ביקורת של Cloud
- יומני ביקורת של Cloud. בודקים את יומני הביקורת של פעילות האדמין ושל הגישה לנתונים כדי לעקוב אחרי מי התחיל פעולות ספציפיות, לבדוק את זהויות המתקשרים ולאבחן שגיאות
PERMISSION_DENIED. מידע נוסף זמין במאמר בנושא שימוש ביומני ביקורת ב-BigQuery. - Cloud Monitoring. אפשר לעקוב אחרי מדדים כמו שימוש במשבצות, משך ביצוע שאילתות ובתים שהועלו, ולהגדיר מדיניות התראות כדי להודיע לצוות שלכם כשחורגים מספי ערך או ממכסות. מידע נוסף זמין במאמר בנושא מעקב אחרי BigQuery באמצעות Cloud Monitoring.
פונקציות SQL הגנתיות והצהרות ניפוי באגים
כדי למנוע מצב שבו שאילתות נכשלות באופן בלתי צפוי בגלל שגיאות בנתוני זמן הריצה, אפשר להשתמש באפשרויות הבאות:
- ביטויים בטוחים. אפשר להשתמש בפונקציות
SAFE_CAST(),SAFE_DIVIDE(),SAFE_OFFSET()ו-SAFE_ORDINAL()כדי להחזיר את הערךNULLבמקום ליצור שגיאות בזמן ריצה כשסוגי הנתונים או גבולות המערך לא תואמים. רוב הפונקציות הסקלריות תומכות בקידומתSAFE.. מידע נוסף זמין במאמרים ניפוי באגים בפונקציות וSAFE.prefix. - טענות SQL. אפשר להשתמש בהצהרת
ASSERTבעסקאות או בסקריפטים עם כמה הצהרות כדי לאכוף תנאי אימות נתונים ולגרום לכשל עם הודעות שגיאה מותאמות אישית לפני הפעלת פעולות במורד הזרם. מידע נוסף זמין במאמר בנושא הצהרות על ניפוי באגים.
פתרון בעיות לפי קטגוריית בעיה
בוחרים קטגוריה מהקטעים הבאים כדי לראות קודי שגיאה מפורטים, סיבות שורש ומדריכים מפורטים לפתרון בעיות.
ביצועי השאילתה וההרצה שלה
אבחון של שאילתות שלא מופעלות, שזמן ההמתנה שלהן חלף, שנתקלו במגבלות משאבים או שחוו עיכובים לא צפויים.
- פתרון בעיות שקשורות לשאילתות פתרון שגיאות
resourcesExceeded, ביצוע איטי של שאילתות, שגיאות בערבוב נתונים, תנאים של חוסר זיכרון וכשלים בשאילתות מתוזמנות. - פתרון בעיות שגורמות לזמני המתנה ארוכים בתור לשאילתות. אבחון צווארי בקבוק של בו-זמניות (concurrency) ושאילתות שנמצאות בתור בגלל מגבלות של תור אינטראקטיבי או תור אצווה.
- הסבר על הודעות השגיאה אפשר לחפש קודי שגיאה ספציפיים של HTTP, מחרוזות של סיבות לשגיאה ופעולות מומלצות.
ניהול זהויות והרשאות גישה (IAM) ואבטחה
אבחון של כשלים בבקרת גישה, הקצאות תפקידים חסרות וחסימות של מדיניות בנושא משילות מידע (data governance).
- פתרון בעיות בהרשאות IAM ב-BigQuery אבחון שגיאות של דחיית הרשאה, הענקת תפקידי IAM חסרים ושימוש בכלי לפתרון בעיות שקשורות למדיניות.
- פתרון בעיות ב-VPC Service Controls זיהוי ותיקון של הפרות של אמצעי האבטחה ההיקפיים וחסימות של כללים לתעבורת נתונים נכנסת (ingress) ויוצאת (egress).
- פתרון בעיות באבטחה ברמת השורה וברמת העמודה פתרון בעיות גישה שקשורות למדיניות בנושא נתונים, לתגי מדיניות ולמסננים של גישה ברמת השורה.
מכסות, מגבלות קצב והזמנות
פתרון בעיות שמתרחשות כשעומסי עבודה חורגים ממגבלות השירות של BigQuery או מהקצאות הקיבולת.
- פתרון בעיות שקשורות למכסות ולמגבלות לזהות מכסות שאפשר לשנות לעומת מכסות שלא ניתן לשנות, לטפל במגבלות על מספר השאילתות בו-זמנית ולפתור שגיאות שקשורות למגבלות על קצב בקשות ה-API.
- פתרון בעיות בהזמנות אבחון של חוסר משבצות, אי התאמות בהקצאת הזמנות ומחסור בקיבולת הבסיסית.
הטמעת נתונים, סטרימינג והעברה
אבחון כשלים בטעינת נתונים, בהעברת רשומות בסטרימינג או בסנכרון מקורות חיצוניים.
- פתרון בעיות בהגדרות של העברות פתרון שגיאות בשירות העברת הנתונים ל-BigQuery במקורות כמו Amazon S3, Salesforce, Google Ads ו-Cloud Storage.
- פתרון בעיות בסטרימינג של מודעות ניפוי באגים ותיקון שגיאות ב-Storage Write API ובשיטות מדור קודם להטמעת עדכונים בזמן אמת, שגיאות בהוספת שורות ומכסות של תפוקה.
- פתרון בעיות בטעינת נתונים פתרון שגיאות בניתוח סכימה ושגיאות בתווי הפרדה בקובצי CSV, JSON, Parquet או Avro.
מקורות נתונים חיצוניים ושאילתות מאוחדות
אבחון שגיאות בחיבור, באימות ובביצוע כשמריצים שאילתות על נתונים מחוץ ל-BigQuery.
- פתרון בעיות בשאילתות מאוחדות ב-Cloud SQL פתרון בעיות שקשורות לפסק זמן בחיבור, להגדרת מופע ולכשלים בהזנת פרטי הכניסה.
פערים בחיובים ובעלויות
חקירה של חיובים לא צפויים ואי התאמות בחיובים על מחשוב ואחסון.
- פתרון בעיות של אי התאמות בעלויות ב-BigQuery לזהות את המקור של חיובים בלתי צפויים, לנתח את החיוב על בייטים לפי דרישה ולאמת את השימוש בהתחייבות לקיבולת.
צמצום הסיכון לאובדן נתונים
כדי לשחזר נתונים היסטוריים שהשתנו או נמחקו, או כדי לשמור על המשכיות עסקית במהלך הפסקת חשמל אזורית, אפשר להשתמש בכלים הבאים לשחזור נתונים ולשמירת נתונים:
- שחזור נתונים אפשר להריץ שאילתות על נתוני טבלה שהשתנו או נמחקו, או לשחזר אותם, במסגרת חלון הזמן של 'מסע בזמן'. מידע נוסף מופיע במאמר שחזור נתונים.
- מסע בזמן. כדי להגן על הנתונים מפני שינויים מקריים, אפשר לשמור נתונים מעודכנים או נתונים שנמחקו במערך נתונים למשך תקופת שמירה מוגדרת. מידע נוסף זמין במאמר בנושא הצגת נתונים מתקופות קודמות.
- יתירות כשל אזורית. קידום רפליקה משנית לתפקיד הראשי במהלך הפסקת חשמל אזורית כשמשתמשים בשחזור אחרי אסון שמנוהל על ידי BigQuery. מידע נוסף זמין במאמר בנושא מעבר לגיבוי ומילוי חוסרים באזור.
שימוש בממשקי API
כשאתם מבצעים אינטראקציה עם BigQuery באופן פרוגרמטי, אתם יכולים להשתמש במשאבים הבאים כדי לבצע אופטימיזציה של זמן האחזור של הבקשות ולנהל את תהליכי העבודה של ההעלאות:
- טיפים לשיפור הביצועים של API כדאי לפעול לפי השיטות המומלצות לביצוע קריאות API, כמו ניהול מאגרי חיבורים, שימוש בפעולות באצווה וטיפול בניסיונות חוזרים. מידע נוסף זמין במאמר בנושא טיפים לשיפור הביצועים של API.
- העלאות דרך API. פתרון בעיות וניהול של הטמעת נתונים באמצעות בקשות העלאה שניתנות להמשך ורב-חלקיות של API בארכיטקטורת REST. מידע נוסף זמין במאמר בנושא העלאות באמצעות API.
המאמרים הבאים
- מידע נוסף על מעקב אחרי BigQuery
- הפניה ל-BigQuery
INFORMATION_SCHEMA - פנו אל Cloud Customer Care לקבלת תמיכה בבעיות קריטיות או בבעיות תפעוליות שחוזרות על עצמן.