במסמך הזה מוסברת הארכיטקטורה של תהליכי עבודה ב-Dataform ואיך הם מבוצעים.
אתם יכולים להשתמש ב-Dataform כדי לפתח, לבדוק ולנהל גרסאות של תהליכי עבודה שאתם יכולים להריץ ב-BigQuery כדי להמיר נתונים לצורכי ניתוח. תהליכי העבודה ב-Dataform מפעילים צינורות של BigQuery, הכנות של נתונים, מחברות ושאילתות שמורות.
אפשר לפתח תהליכי עבודה באמצעות Dataform core, באמצעות קובצי SQLX וקובצי JavaScript (אופציונלי), או באמצעות JavaScript.
תהליך עבודה יכול לכלול את האובייקטים הבאים:
- הצהרות על מקורות נתונים
- הצהרות של מקורות נתונים ב-BigQuery שמאפשרות לכם להפנות למקורות הנתונים האלה בהגדרות של טבלאות Dataform ובפעולות SQL.
- טבלאות
- טבלאות שיוצרים ב-Dataform על סמך מקורות הנתונים שהוגדרו או טבלאות אחרות בתהליך העבודה. Dataform תומך בסוגי הטבלאות הבאים: table, incremental table, view ו-materialized view.
- Assertions
- שאילתות לבדיקת איכות הנתונים שבהן אפשר להשתמש כדי לאמת את נתוני הטבלה. Dataform מריץ הצהרות בכל פעם שהוא מעדכן את תהליך העבודה, ומעדכן אתכם אם הצהרה כלשהי נכשלת.
- פעולות SQL בהתאמה אישית
- הצהרות SQL שמופעלות ב-BigQuery על ידי Dataform כמו שהן, ללא שינוי.
- כולל
- קבצי JavaScript עם הגדרות של משתנים ופונקציות שאפשר לעשות בהם שימוש חוזר בתהליך העבודה.
פיתוח באמצעות סוכן הנדסת נתונים
הסוכן Data Engineering עוזר לכם ליצור ולתחזק תהליכי עבודה של SQL על ידי יצירת קוד והגדרות מהנחיות בשפה טבעית. בנוסף ללוגיקת ה-SQL, הסוכן מאכלס באופן יזום את הגדרות הטבלה במטא-נתונים של Knowledge Catalog, כמו תיאורי שדות, סקירות כלליות של טבלאות והיבטים כלליים כמו מידע על המערכת והסוג. כך אפשר לוודא שנכסי הנתונים יהיו ניתנים לגילוי מרגע היצירה.
מידע נוסף זמין במאמר שימוש ב-Data Engineering Agent כדי ליצור ולשנות צינורות נתונים.
המחשה ויזואלית של תהליך עבודה
אפשר לראות את תהליך העבודה שלכם באופן ויזואלי בצורת גרף אציקלי מכוון (DAG). DAG מציג את כל האובייקטים של תהליך העבודה שהוגדרו בסביבת העבודה, ואת הקשרים ביניהם. אפשר להגדיל או להקטין את התצוגה ולהשתמש בניווט בשיטת גרירה ושחרור ב-DAG. אם יש שגיאות קומפילציה בתהליך העבודה, Dataform מציג הודעת שגיאה במקום ה-DAG.
כדי לראות את ה-DAG של תהליך העבודה, לוחצים על Compiled graph (גרף מהודר) בסביבת העבודה.
הרצה של תהליך עבודה
כדי להפעיל תהליכי עבודה, צריך לשייך לחשבון שירות מותאם אישית מאגר Dataform. כל שאר הפעולות במאגר עדיין מתבצעות על ידי סוכן השירות של Dataform שמוגדר כברירת מחדל.
בסביבת העבודה לפיתוח, אתם יכולים להפעיל ידנית הרצה של כל זרימת העבודה, של קבוצת פעולות או של קבוצת תגים.
אפשר לתזמן הפעלות באמצעות הגדרות של גרסאות והגדרות של תהליכי עבודה ב-Dataform. קודם צריך ליצור הגדרת הפצה כדי ליצור תוצאות קומפילציה של המאגר. לאחר מכן, יוצרים הגדרת תהליך עבודה, בוחרים הגדרת הפצה, בוחרים את פעולות תהליך העבודה שרוצים להריץ ומגדירים את לוח הזמנים להרצה.
אפשרות אחרת היא לתזמן הפעלות באמצעות Managed Service for Apache Airflow או באמצעות Workflows ו-Cloud Scheduler.
במהלך ההרצה, Dataform מריץ שאילתות SQL ב-BigQuery, לפי סדר התלות של האובייקטים בתהליך העבודה. אחרי ההרצה, תוכלו להשתמש בטבלאות ובתצוגות המפורטות שהגדרתם לכל מטרות הניתוח שלכם ב-BigQuery.
אפשרויות הגדרה של ההפעלה
כדי להריץ קבוצה ספציפית של פעולות בתהליך העבודה, אפשר להוסיף תגי הפעלה של Dataform לקבצים שבוחרים. לאחר מכן, כשמפעילים ריצה באופן ידני, אפשר להריץ רק את הקבצים עם תג נבחר.
כברירת מחדל, Dataform מריץ את תהליך העבודה עם הגדרות ההרצה שמוגדרות בקובץ workflow_settings.yaml.
בעזרת הגדרות ברירת מחדל של קומפילציה בסביבת עבודה, אפשר להפוך סביבות עבודה לסביבות ביצוע מבודדות. המשמעות היא שכאשר מפעילים ידנית ביצוע בסביבת עבודה, Dataform מריץ את הפלט במיקום מבודד ב-BigQuery.
כדי ליצור ולהריץ תוצאת הידור יחידה עם שינויים בהגדרות ההידור, אפשר להעביר בקשות באמצעות Dataform API.
באמצעות הגדרות של גרסת הפצה, אתם יכולים להגדיר ביטולים של קומפילציה לכל המאגר, וגם את התדירות של יצירת תוצאות קומפילציה עם ההגדרות שהוחלו.
מידע נוסף על דרכים להגדיר קומפילציה ומחזור חיים של קוד ב-Dataform זמין במאמר מבוא למחזור חיים של קוד ב-Dataform.
המאמרים הבאים
- כדי ללמוד איך להצהיר על מקור נתונים, ראה הצהרה על מקור נתונים.
- במאמר הגדרת תלות מוסבר איך להצהיר על תלויות כדי להגדיר קשרים בין אובייקטים בתהליך העבודה.
- איך מגדירים פעולות SQL בהתאמה אישית
- כדי ללמוד איך להשתמש מחדש במשתנים ובפונקציות בתהליך העבודה באמצעות include, אפשר לעיין במאמר שימוש חוזר בקוד במאגר יחיד באמצעות include.