הפצה

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"
  }
}