Usage
view: my_view { derived_table: { distribution: "customer_id" ... } }
|
היררכיה
distribution- או - distribution |
ערך ברירת המחדל
ללא
מקבל
שם של עמודה בטבלה נגזרת או בטבלה מסכמת
כללים מיוחדים
האפשרות distribution נתמכת רק במסדי נתונים של Redshift ו-Aster.
|
הגדרה
הפרמטר distribution מאפשר לציין את העמודה מטבלת נתונים נגזרים קבועה (PDT) או מטבלת צבירה שעליה רוצים להחיל מפתח חלוקה. מפתח ההפצה מפזר את הנתונים באשכול. כשמצטרפים לשתי טבלאות באמצעות העמודה שצוינה בפרמטר distribution, מסד הנתונים יכול למצוא את הנתונים המצורפים באותו צומת כדי למזער את קלט/פלט בין הצמתים. הפרמטר distribution פועל רק עם מסדי נתונים של Redshift ו-Aster. עבור ניבים אחרים של SQL (כמו MySQL ו-Postgres), משתמשים במקום זאת ב-indexes.
הפרמטר
distributionפועל רק עם טבלאות שהן קבועות, כמו PDT וטבלאות מצטברות. אין תמיכה ב-distributionעבור טבלאות נגזרות ללא אסטרטגיית שמירה.בנוסף, הפרמטר
distributionלא נתמך בטבלאות נגזרות שמוגדרות באמצעותcreate_processאוsql_create.
באופן כללי, צריך להחיל מפתח הפצה על העמודה שתשמש כמפתח זר (העמודה שבה משתמשים כדי לצרף את הטבלה לטבלאות אחרות). כדאי לעיין במסמכי העזרה של הניב שלכם כדי לקבל מידע על שיטות מומלצות.
דוגמאות
יצירת customer_order_facts טבלה נגזרת מתמידה (PDT) עם מפתח חלוקה ב-customer_id:
view: customer_order_facts {
derived_table: {
explore_source: order {
column: customer_id { field: order.customer_id }
column: lifetime_orders { field: order.lifetime_orders }
}
datagroup_trigger: order_datagroup
distribution: "customer_id"
}
}
יצירת טבלה נגזרת customer_order_facts שמבוססת על שאילתת SQL עם מפתח חלוקה ב-customer_id:
view: customer_order_facts {
derived_table: {
sql:
SELECT
customer_id,
COUNT(*) AS lifetime_orders
FROM
order ;;
persist_for: "24 hours"
distribution: "customer_id"
}
}