טעינת נתונים לטבלאות מחולקות למחיצות (partitioned tables)
ב-BigQuery אפשר לטעון נתונים באצווה או לכתוב תוצאות של שאילתות ישירות לפלח ספציפי של טבלה מחולקת למחיצות, בלי להשפיע על מחיצות אחרות. טירגוט מחיצות ספציפיות עוזר למלא רשומות היסטוריות, להתאים מחיצות של זמן הטמעה לאזורי זמן מקומיים ולשפר את ביצועי הכתיבה.
כתיבת נתונים במחיצה ספציפית
כדי לטעון נתונים למחיצה ספציפית, משתמשים בפקודה bq load עם מעטר מחיצה. בדוגמה הבאה, הנתונים מצורפים למחיצה 20160501 (1 במאי 2016) של טבלה קיימת, בהנחה שהטבלה כבר מחולקת למחיצות לפי תאריך:
bq load --source_format=CSV 'my_dataset.my_table$20160501' data.csv
אפשר גם לכתוב את תוצאות השאילתה למחיצה ספציפית:
bq query \ --use_legacy_sql=false \ --destination_table='my_table$20160501' \ --append_table=true \ 'SELECT * FROM my_dataset.another_table'
בחלוקה למחיצות לפי זמן הטמעה, אתם יכולים להשתמש בשיטה הזו כדי לטעון נתונים ישנים יותר למחיצה שתואמת לזמן שבו הנתונים נוצרו במקור.
אפשר להשתמש בשיטה הזו גם כדי להתאים את אזורי הזמן. כברירת מחדל, מחיצות לפי זמן הטמעה מבוססות על זמן UTC. אם רוצים שזמן המחיצה יתאים לאזור זמן מסוים, אפשר להשתמש במעצבי מחיצות כדי לקזז את זמן ההטמעה ב-UTC. לדוגמה, אם אתם נמצאים בשעון החוף המערבי של ארה"ב (PST), אתם יכולים לטעון נתונים שנוצרו ב-1 במאי 2016 בשעה 23:30 לפי שעון PST למחיצה של אותו תאריך, באמצעות מזהה המחיצה המפורש המתאים, $2016050123. אם לא תשתמשו במעצב המפורש הזה, הנתונים ייטענו במקום זאת ל-$2016050207 (2 במאי, 07:00 UTC).
בטבלאות שמחולקות למחיצות לפי עמודת יחידת זמן ולפי טווח של מספרים שלמים, מזהה המחיצה שצוין במעטר חייב להתאים לנתונים שנכתבים. לדוגמה, אם הטבלה מחולקת לפי עמודת DATE, ה-decorator צריך להתאים לערך שבעמודה הזו. אחרת, תופיע הודעת שגיאה. עם זאת, אם אתם יודעים מראש שהנתונים נמצאים במחיצה אחת, ציון מעטר המחיצה יכול לשפר את ביצועי הכתיבה.
בדוגמה הקודמת, הנתונים נוספו למחיצה. כדי להחליף נתונים במחיצה, צריך לכלול דגלים שונים לכל פקודה, כלומר bq load --replace=true ... ו-bq query --append_table=false ....
למידע נוסף על הדגלים בפקודות האלה, ראו bq load ו-bq query.
מידע נוסף על טעינת נתונים זמין במאמר מבוא לטעינת נתונים ל-BigQuery.
העברת נתונים בסטרימינג לטבלאות מחולקות למחיצות (partitioned tables)
במאמר העברת נתונים בסטרימינג לטבלאות מחולקות למחיצות מוסבר איך מעבירים נתונים בסטרימינג לטבלה מחולקת למחיצות באמצעות BigQuery Storage Write API (gRPC).
המאמרים הבאים
מידע נוסף על עבודה עם טבלאות מחולקות למחיצות זמין במאמרים הבאים: