Usage
view: my_view {
derived_table: { ... }
}
|
היררכיה
derived_table |
ערך ברירת המחדל
ללא
|
הגדרה
אפשר להתייחס לטבלה נגזרת כאילו היא טבלה רגילה במסד הנתונים. אפשר ליצור טבלאות נגזרות מהסוגים הבאים:
- טבלה נגזרת מבוססת LookML (NDT) שמוגדרת באמצעות הפרמטר
explore_source - טבלה נגזרת שמבוססת על SQL באמצעות שאילתת SQL גולמית שמוגדרת באמצעות הפרמטר
sql
במקרים מסוימים, לא ניתן להשתמש בפרמטר
sql. במקרים כאלה, Looker תומך בפרמטרים הבאים להגדרת שאילתת SQL עבור PDT:create_processsql_createבכל המקרים האלה, אתם מגדירים את הטבלה הנגזרת באמצעות שאילתת SQL, ולכן כל הטבלאות האלה נחשבות לטבלאות נגזרות שמבוססות על SQL.
sqlcreate_processsql_create
הפרמטר derived_table מתחיל קטע של LookML שבו מגדירים איך לחשב טבלה נגזרת, באילו אינדקסים או מפתחות להשתמש ומתי ליצור אותה מחדש.
טבלאות נגזרות יכולות להיות טבלאות נגזרות זמניות שמחושבות לפי דרישה כשמשתמשים מבקשים נתונים מהן, או טבלאות נגזרות קבועות (PDT) שנשמרות במסד הנתונים באמצעות אסטרטגיית שמירה.
אם הניב שבחרתם תומך בהם, אתם יכולים להשתמש ב-PDT מצטבר בפרויקט שלכם. טבלת PDT מצטברת היא טבלת PDT שנבנית באופן מצטבר על ידי הוספת נתונים חדשים לטבלה, במקום לבנות מחדש את הטבלה כולה. מידע נוסף על PDT מצטבר זמין בדף Incremental PDTs.
מידע נוסף על טבלאות נגזרות זמין בדף התיעוד בנושא טבלאות נגזרות ב-Looker.
פרמטרים משניים של טבלה נגזרת
בקטע הזה מפורטים הפרמטרים המשניים של טבלה נגזרת.
| פרמטר | תיאור |
|---|---|
cluster_keys: ["column_name", "column_name", ...] |
הפרמטר הזה מציין שצריך להשתמש באשכולות בשביל PDT לפי שדה אחד או יותר ב-BigQuery וב-Snowflake. |
create_process: { sql_step:SQL query ;; } |
מציין רצף מסודר של שלבים ליצירת PDT בניב של מסד נתונים שנדרשים בו פקודות DDL בהתאמה אישית. |
datagroup_trigger: datagroup_name |
המדיניות קובעת את קבוצת הנתונים שתשמש לבנייה מחדש של PDT. |
distribution: "column_name" |
הגדרת מפתח ההפצה של PDT שנבנה ב-Redshift או ב-Aster. |
distribution_style: all | even |
המאפיין הזה מגדיר את סגנון ההפצה של PDT שנבנה ב-Redshift. |
explore_source: explore_name { # Desired subparameters (described on explore_source page) } |
מציין טבלה נגזרת מבוססת LookML על סמך ניתוח. |
increment_key: "column_name" |
מציין את מרווח הזמן שלגביו צריך לשלוח שאילתה לגבי נתונים חדשים ולצרף אותם ל-PDT מצטבר. |
increment_offset: N |
מציינת את מספר התקופות הקודמות (ברמת הגרנולריות של מפתח התוספת) שנבנות מחדש כדי להתחשב בנתונים שמגיעים באיחור ל-PDT מצטבר. |
indexes: ["column_name", "column_name", ...] |
התג הזה מגדיר את האינדקסים של PDT שנבנה במסד נתונים מסורתי (לדוגמה, MySQL, Postgres) או מפתח מיון משולב ב-Redshift. |
interval_trigger: "N (seconds | minutes | hours)" |
מציינים לוח זמנים לבנייה מחדש של PDT. |
materialized_view: yes | no |
יוצר תצוגה מהותית במסד הנתונים שלכם לטבלה נגזרת. |
partition_keys: ["column_name", "column_name", ...] |
מציין ש-PDT יחולק למחיצות לפי שדה אחד או יותר ב-Presto, או לפי שדה יחיד של תאריך/שעה ב-BigQuery. |
persist_for: "N (seconds | minutes | hours)" |
הגדרת הגיל המקסימלי של PDT לפני יצירה מחדש שלו. |
publish_as_db_view: yes | no |
יוצר תצוגה יציבה של מסד נתונים עבור ה-PDT כדי לאפשר שליחת שאילתות לטבלה מחוץ ל-Looker. |
sortkeys: ["column_name", "column_name", ...] |
מגדירים את מפתחות המיון של PDT שנבנה ב-Redshift. |
sql: SQL query ;; |
מגדיר את שאילתת ה-SQL של טבלה נגזרת. |
sql_create: { SQL query ;; } |
הגדרת הצהרת SQL CREATE ליצירת PDT בניב של מסד נתונים שנדרשות בו פקודות DDL בהתאמה אישית. |
sql_trigger_value: SQL query ;; |
מציין את התנאי שגורם ליצירה מחדש של PDT. |
table_compression: GZIP | SNAPPY |
התנאי הזה מציין את דחיסת הטבלה שבה רוצים להשתמש ב-PDT ב-Amazon Athena. |
table_format: PARQUET | ORC | AVRO | JSON | TEXTFILE |
הגדרת פורמט הטבלה לשימוש ב-PDT ב-Amazon Athena. |
דוגמאות
יוצרים טבלה נגזרת מבוססת LookML (NDT) מסוג customer_order_facts עם הפרמטר explore_source:
view: customer_order_facts {
derived_table: {
explore_source: order {
column: customer_id { field: order.customer_id }
column: lifetime_orders { field: order.count }
column: lifetime_spend { field: order.total_spend }
}
}
}
יוצרים טבלה נגזרת של customer_order_facts עם הפרמטר sql:
view: customer_order_facts {
derived_table: {
sql:
SELECT
customer_id,
COUNT(*) AS lifetime_orders,
SUM(total) AS lifetime_spend
FROM
order
GROUP BY
customer_id ;;
}
}
דברים שכדאי לקחת בחשבון
כדאי להימנע משימוש יתר בטבלאות נגזרות כדי ליצור פתרונות SQL טהורים
משתמשים שמבינים היטב ב-SQL משתמשים לעיתים קרובות בטבלאות נגזרות כדי לפתור בעיות בשאילתות SQL מורכבות, ואז חושפים את התוצאות למשתמשים. לפעמים צריך לעשות את זה, אבל יכול להיות שזה יגרום לכך שלא תהיה אפשרות להשתמש ב-LookML בצורה מודולרית וניתנת לשימוש חוזר, ושהמשתמשים יוכלו לחקור את הנתונים רק בדרכים נוקשות.
ההמלצה הכללית שלנו היא לחשוב על המטרה הבסיסית של שאילתת ה-SQL, ואז להמיר את הלוגיקה הזו ל-LookML, במקום להעתיק ולהדביק שאילתות קיימות לטבלה נגזרת. אם אתם צריכים עזרה ביצירת ניתוחים שלא מסתמכים על טבלאות נגזרות, צוות התמיכה של Looker ישמח לעזור לכם עם שיטות מומלצות.
ניבים נתמכים של מסדי נתונים לטבלאות נגזרות
ניבים נתמכים של מסדי נתונים לטבלאות נגזרות זמניות
כדי ש-Looker יתמוך בטבלאות נגזרות בפרויקט Looker, הניב של מסד הנתונים צריך לתמוך בהן גם כן. בטבלה הבאה מפורטים הניבים שתומכים בטבלאות נגזרות בגרסה האחרונה של Looker:
| דיאלקט | נתמך? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13.x - 0.17.x | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud AlloyDB for PostgreSQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MongoSQL | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |
ניבים נתמכים של מסדי נתונים ל-PDT
כדי ש-Looker יתמוך ב-PDT בפרויקט Looker שלכם, הניב של מסד הנתונים שלכם צריך לתמוך בהם גם כן.
כדי לתמוך בכל סוג של טבלאות PDT (מבוססות LookML או מבוססות SQL), הדיאלקט צריך לתמוך בכתיבה למסד הנתונים, בין היתר. יש כמה הגדרות של מסדי נתונים לקריאה בלבד שלא מאפשרות את הפעולה של שמירת נתונים (בדרך כלל מסדי נתונים של רפליקות להחלפה חמה של Postgres). במקרים כאלה, אפשר להשתמש בטבלאות נגזרות זמניות במקום זאת.
בטבלה הבאה מפורטים הניבים שתומכים בטבלאות נגזרות מתמידות שמבוססות על SQL בגרסה האחרונה של Looker:
| דיאלקט | נתמך? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13.x - 0.17.x | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud AlloyDB for PostgreSQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MongoSQL | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |
כדי לתמוך בטבלאות נגזרות מתמידות מבוססות LookML (שכוללות שאילתות שמבוססות על LookML), הדיאלקט צריך לתמוך גם בפונקציית CREATE TABLE DDL. בגרסה האחרונה של Looker, הניבים הבאים תומכים בטבלאות נגזרות מתמידות מבוססות LookML:
| דיאלקט | נתמך? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13.x - 0.17.x | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud AlloyDB for PostgreSQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MongoSQL | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |
אין תמיכה ב-PDT בחיבורים ל-Snowflake שמשתמשים ב-OAuth.
ניבי SQL נתמכים של מסדי נתונים ל-PDT מצטבר
כדי ש-Looker יתמוך בטבלאות PDT מצטברות בפרויקט Looker, הניב של מסד הנתונים צריך לתמוך בפקודות Data Definition Language (DDL) שמאפשרות מחיקה והוספה של שורות.
בטבלה הבאה מפורטים הניבים שתומכים ב-PDT מצטבר בגרסה האחרונה של Looker:
| דיאלקט | נתמך? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13.x - 0.17.x | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud AlloyDB for PostgreSQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MongoSQL | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |