distribution_style

Usage

view: my_view {
  derived_table: {
    distribution_style: all
    ...
  }
}
היררכיה
distribution_style

- או -

distribution_style
ערך ברירת המחדל
ללא

אמצעי תשלום מקובלים
סגנון פריסה (all או even)
כללים מיוחדים
השפה distribution_style נתמכת רק בדיאלקטים ספציפיים

הגדרה

הפרמטר distribution_style מאפשר לציין איך השאילתה של טבלה נגזרת מתמידה (PDT) או של טבלה מסכמת מופצת בין הצמתים במסד נתונים.

כאן אפשר לעיין ברשימת הניבים שנתמכים ב-distribution_style.distribution_style

הפרמטר distribution_style פועל רק עם טבלאות קבועות, כמו טבלאות PDT וטבלאות מסכמות. אין תמיכה ב-distribution_style בטבלאות נגזרות ללא אסטרטגיית שמירה.

בנוסף, הפרמטר distribution_style לא נתמך בטבלאות נגזרות שמוגדרות באמצעות create_process או sql_create.

לסיום, אין להשתמש ב-distribution_style וב-distribution בו-זמנית. אם רוצים להפיץ את השורות של טבלה לצומתי Redshift שונים על סמך ערך של עמודה, משתמשים ב-distribution. אחרת, אפשר להשתמש ב-distribution_style כדי לבחור אסטרטגיית הפצה אחרת.

ב-Redshift יש ארבעה סגנונות הפצה, שמתוארים במאמרי העזרה של Amazon Redshift בנושא סגנונות הפצה:

  • הפצה לכל: כל השורות מועתקות באופן מלא לכל צומת. אפשר לבצע הפצה מהסוג הזה ב-Looker באמצעות distribution_style: all.
  • הפצה מסוג EVEN: השורות מופצות לצמתים שונים בסדר סיבובי. אפשר להשיג את סוג ההפצה הזה ב-Looker באמצעות distribution_style: even.
  • הפצה לפי מפתח: השורות מופצות לצמתים שונים על סמך ערכים ייחודיים בעמודה מסוימת. כדי להגדיר הפצה כזו ב-Looker, משתמשים בפרמטר distribution.
  • הפצה אוטומטית: מערכת Redshift מקצה סגנון הפצה אופטימלי על סמך גודל הנתונים בטבלה. ‫Looker לא תומך בסוג ההפצה הזה.

כדי לבחור את אסטרטגיית ההפצה המתאימה, עיינו במסמכי התיעוד של Amazon Redshift בנושא סגנונות הפצה. אם לא מציינים distribution_style, ולא משתמשים בפרמטר distribution במקום זאת, Looker יוגדר כברירת מחדל ל-all.

דוגמאות

יוצרים טבלה נגזרת של customer_order_facts עם סגנון הפצה של all:

view: customer_order_facts {
  derived_table: {
    sql:
      SELECT
        customer_id,
        COUNT(*) AS lifetime_orders
      FROM
        order
      GROUP BY 1 ;;
    persist_for: "24 hours"
    distribution_style: all
  }
}

תמיכה בניבים של distribution_style

היכולת להשתמש ב-distribution_style תלויה בדיאלקט של מסד הנתונים שבו משתמש החיבור שלכם ל-Looker. בגרסה האחרונה של Looker, אפשר להשתמש ב-distribution_style בדיאלקטים הבאים:

ניב נתמך?
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
ClickHouse 26+
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+
Dremio 26+ with Arrow Flight SQL
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