Nutzung
derived_table: {
partition_keys: [ "created_date" ]
...
}
}
Hierarchie
partition_keys – oder – partition_keys |
Standardwert
None Akzeptiert
Ein oder mehrere partitionierte SpaltennamenSonderregeln
partition_keys wird nur für bestimmte Dialekte unterstützt
|
Definition
Der Parameter partition_keys
unterstützt Datenbankdialekte, die Spalten partitionieren können. Wenn eine Abfrage ausgeführt wird, die nach einer partitionierten Spalte gefiltert wird, scannt die Datenbank nur die Partitionen, die die gefilterten Daten enthalten, und nicht die gesamte Tabelle. Da ein kleinerer Teil der Tabelle gescannt wird, können Zeit und Kosten für das Abfragen großer Tabellen erheblich reduziert werden, wenn die entsprechende Partition und der entsprechende Filter angegeben sind.
Der Parameter
partition_keys
funktioniert nur bei Tabellen, die persistent sind, z. B. PDTs und zusammengefasste Tabellen.partition_keys
wird für abgeleitete Tabellen ohne Persistenzstrategie nicht unterstützt.Außerdem wird der Parameter
partition_keys
nicht für abgeleitete Tabellen unterstützt, die mitcreate_process
odersql_create
definiert sind.
Wenn Sie eine persistente abgeleitete Tabelle (PDT) oder eine zusammengefasste Tabelle erstellen und die zugrunde liegende Datenbanktabelle eine Partitionierung verwendet, kann Looker diese Partitionierung verwenden.
Eine Liste der Dialekte, die
partition_keys
unterstützen, finden Sie weiter unten im Abschnitt Dialektunterstützung fürpartition_keys
.
Wenn Sie eine partitionierte Spalte einer PDT oder einer zusammengefassten Tabelle hinzufügen möchten, verwenden Sie partition_keys
und geben Sie die Namen der entsprechenden Spalten an, die in der Datenbanktabelle partitioniert sind.
Beispiele
Erstellen Sie ein customer_day_facts
-PDT in einer BigQuery-Datenbank mit einem Partitionsschlüssel in der Spalte date
:
view: customer_order_facts {
derived_table: {
explore_source: order {
column: customer_id { field: order.customer_id }
column: date { field: order.order_time }
derived_column: num_orders {
sql: COUNT(order.customer_id) ;;
}
}
partition_keys: [ "date" ]
datagroup_trigger: daily_datagroup
}
}
Erstellen Sie eine customer_day_facts
SQL-basierte abgeleitete Tabelle in einer Presto-Datenbank mit Partitionsschlüsseln in den Spalten date
und state
:
view: customer_day_facts {
derived_table: {
sql:
SELECT
customer_id,
DATE(order_time) AS date,
COUNT(*) AS num_orders
FROM
order
GROUP BY
customer_id ;;
partition_keys: [ "date", "state" ]
datagroup_trigger: daily_datagroup
}
}
Dialektunterstützung für partition_keys
Die Möglichkeit, partition_keys
zu verwenden, hängt vom Datenbankdialekt ab, den Ihre Looker-Verbindung verwendet. In der neuesten Version von Looker unterstützen die folgenden Dialekte partition_keys
:
In BigQuery kann die Partitionierung nur für eine Tabellenspalte erfolgen, die eine Datums-/Uhrzeitspalte sein muss. Für die auf der BigQuery-Tabelle basierende Looker-PDT kann also nur eine Datums-/Uhrzeitspalte partitioniert werden.