באמצעות קלט/פלט מנוהל של Dataflow ל-BigQuery, אפשר לשנות ולהעשיר נתונים בצינורות של זרם נתונים ובצינורות של עיבוד באצווה. הוא משלב את BigQuery כמקור וכייעד למשימות Dataflow, וכך מפשט את האינטראקציות עם BigQuery API. אתם יכולים לעבד מערכי נתונים גדולים לתרחישי שימוש מגוונים, מניתוח נתונים בזמן אמת ועד למחסן נתונים, באמצעות יצירה דינמית של טבלאות ויעדים ב-BigQuery.
היתרונות של קלט/פלט מנוהל
היתרונות והיכולות של קלט/פלט מנוהל ב-BigQuery:
- יצירת טבלאות דינמיות
- יעדים דינמיים
- לפעולות קריאה, המחבר משתמש ב-BigQuery Storage Read API.
לפעולות כתיבה, המחבר משתמש בשיטות BigQuery הבאות:
- אם המקור הוא בלתי מוגבל ו-Dataflow משתמש בעיבוד נתונים בזמן אמת בדיוק פעם אחת, המחבר מבצע כתיבה ל-BigQuery באמצעות BigQuery Storage Write API עם סמנטיקה של מסירה בדיוק פעם אחת.
- אם המקור לא מוגבל ו-Dataflow משתמש בעיבוד סטרימינג לפחות פעם אחת, המחבר מבצע כתיבה ל-BigQuery באמצעות BigQuery Storage Write API עם סמנטיקה של מסירה לפחות פעם אחת.
- אם המקור מוגבל, המחבר משתמש בטעינות של קבצים ב-BigQuery.
דרישות
ערכות ה-SDK הבאות תומכות ב-I/O מנוהל ל-BigQuery:
- Apache Beam SDK for Java בגרסה 2.61.0 ואילך
- Apache Beam SDK for Python בגרסה 2.61.0 ואילך
הגדרות אישיות
התכונה 'ניהול קלט/פלט' ב-BigQuery תומכת בפרמטרים הבאים של הגדרות:
BIGQUERY קריאה
| הגדרות אישיות | סוג | תיאור |
|---|---|---|
| kms_key |
str
|
שימוש במפתח Cloud KMS להצפנת הנתונים |
| שאילתה |
str
|
שאילתת ה-SQL שתופעל כדי לקרוא מהטבלה ב-BigQuery. |
| row_restriction |
str
|
הפונקציה קוראת רק שורות שתואמות למסנן הזה, שצריך להיות תואם ל-SQL רגיל של Google. האפשרות הזו לא נתמכת כשקוראים באמצעות שאילתה. |
| שדות |
list[str]
|
קריאה רק של השדות (העמודות) שצוינו מטבלת BigQuery. יכול להיות שהשדות לא יוחזרו בסדר שצוין. אם לא מציינים ערך, כל השדות מוחזרים. דוגמה: "col1, col2, col3" |
| טבלה |
str
|
השם המלא של הטבלה ב-BigQuery שממנה ייקראו הנתונים. פורמט: [${PROJECT}:]${DATASET}.${TABLE} |
BIGQUERY כתיבה
| הגדרות אישיות | סוג | תיאור |
|---|---|---|
| table |
str
|
טבלת BigQuery שאליה רוצים לכתוב. פורמט: [${PROJECT}:]${DATASET}.${TABLE} |
| ירידה |
list[str]
|
רשימה של שמות שדות להסרה מרשומת הקלט לפני הכתיבה. הערך הזה לא יכול להיות ביחד עם הערכים keep ו-only. |
| keep |
list[str]
|
רשימה של שמות שדות שרוצים לשמור ברשומת הקלט. המערכת משמיטה את כל שאר השדות לפני הכתיבה. הערך הזה לא יכול להיות משולב עם הערכים drop ו-only. |
| kms_key |
str
|
שימוש במפתח Cloud KMS להצפנת הנתונים |
| רק |
str
|
השם של שדה רשומה יחיד שצריך לכתוב. הוא לא יכול להיות ביחד עם הערכים keep (שמירה) ו-drop (הסרה). |
| triggering_frequency_seconds |
int64
|
האפשרות הזו קובעת את התדירות שבה מתבצעת 'העברה' של ההתקדמות אל BigQuery. ברירת המחדל היא כל 5 שניות. |
המאמרים הבאים
מידע נוסף ודוגמאות קוד זמינים בנושאים הבאים: