sql_create

Usage

derived_table: customer_order_facts {
  sql_create: {
      SQL statement ;;
  }
}
היררכיה
sql_create
ערך ברירת המחדל
ללא

מקבל
הצהרת SQL

הגדרה

‫sql_create מאפשרת פקודות מותאמות אישית של שפת הגדרת נתונים (DDL) ליצירת טבלאות נגזרות קבועות (PDT). ‫sql_create ינפיק הצהרה כמו שהיא, בלי בדיקת השגיאות הרגילה של Looker. הדרישה היחידה היא שההצהרה תגרום ליצירה ולביצוע של PDT. לדוגמה, אפשר ליצור PDT שתומכים במודלים של למידת מכונה של Google BigQuery ML.

ב-PDT שהוגדר עם sql_create, אי אפשר להשתמש באף אחד מהפרמטרים הבאים:

דוגמאות

יוצרים PDT לשאילתות BigQuery ML שמנבאות את הסבירות לרכישות עתידיות:

view: future_purchase_model {
  derived_table: {
    datagroup_trigger: bqml_datagroup
    sql_create:
      CREATE OR REPLACE MODEL ${SQL_TABLE_NAME}
      OPTIONS(model_type='logistic_reg'
        , labels=['will_purchase_in_future']
        , min_rel_progress = 0.005
        , max_iterations = 40
        ) AS
      SELECT
         * EXCEPT(fullVisitorId, visitId)
      FROM ${training_input.SQL_TABLE_NAME};;
  }
}

דברים שכדאי לקחת בחשבון

אופרטור החלפה ${SQL_TABLE_NAME}

אפשר להשתמש באופרטור ההחלפה ${SQL_TABLE_NAME} כדי להחליף את השם המחושב של ה-PDT שנוצר. כך אפשר לוודא שהשם של ה-PDT שמופיע בפרמטר view של LookML ייכלל בצורה נכונה בהצהרת ה-SQL.

‫sql_create חייב ליצור טבלה עם השם שמצוין על ידי אופרטור ההחלפה ${SQL_TABLE_NAME}, אחרת הוא ייבנה מחדש מאפס בכל מרווח זמן לבדיקת הטריגר שמצוין בהגדרה PDT and Datagroup Maintenance Schedule (תחזוקה של PDT ושל קבוצת נתונים) של חיבור (ברירת המחדל היא חמש דקות). הדבר עלול לגרום לתנועת שאילתות לא צפויה במסד הנתונים או במחסן הנתונים.

שימוש ב-create_process ליצירת PDT בכמה שלבים

אם הדיאלקט של מסד הנתונים דורש פקודות DDL מותאמות אישית, ואתם רוצים להנפיק כמה פקודות כדי ליצור PDT, אתם יכולים להשתמש ב-create_process כדי להנפיק כמה פקודות DDL מותאמות אישית בסדר מסוים.

אי אפשר להשתמש בטבלאות שהוגדרו באמצעות sql_create ל-PDT מצטברות

כדי להשתמש ב-PDT מבוסס-SQL כ-PDT מצטבר, צריך להגדיר שאילתה באמצעות הפרמטר sql. אי אפשר לבנות באופן מצטבר PDTs מבוססי-SQL שמוגדרים באמצעות הפרמטר sql_create או הפרמטר create_process.

הסיבה לכך היא ש-Looker משתמש בפקודה INSERT או MERGE כדי ליצור את הגידולים עבור PDT מצטבר. אי אפשר להגדיר את הטבלה הנגזרת באמצעות הצהרות מותאמות אישית של שפת הגדרת נתונים (DDL), כי Looker לא יוכל לקבוע אילו הצהרות DDL נדרשות כדי ליצור תוספת מדויקת.