Utilisation
view: my_view {
derived_table: {
distribution_style: all
...
}
}
|
Hiérarchie
distribution_style- ou - distribution_style |
Valeur par défaut
Aucun
Acceptation
Style de distribution (all ou even)
Règles spéciales
distribution_style n'est compatible qu'avec certains dialectes.
|
Définition
distribution_style vous permet de spécifier la façon dont la requête pour une table dérivée persistante (PDT) ou une table agrégée est distribuée sur les nœuds d'une base de données.
Pour obtenir la liste des dialectes compatibles avec
distribution_style, consultez la section Dialectes compatibles avecdistribution_style.
Le paramètre
distribution_stylene fonctionne qu'avec les tables persistantes, telles que les PDT et les tables agrégées.distribution_stylen'est pas compatible avec les tables dérivées sans stratégie de persistance.
De plus, le paramètre
distribution_stylen'est pas compatible avec les tables dérivées définies à l'aide decreate_processousql_create.Enfin, vous ne devez pas utiliser
distribution_styleetdistributionen même temps. Si vous souhaitez distribuer les lignes d'une table à différents nœuds Redshift en fonction de la valeur d'une colonne, utilisezdistribution. Sinon, utilisezdistribution_stylepour choisir une autre stratégie de répartition.
Redshift propose quatre styles de distribution, qui sont décrits dans la documentation Amazon Redshift sur les styles de distribution :
- Distribution ALL : toutes les lignes sont entièrement copiées sur chaque nœud. Vous pouvez effectuer ce type de distribution dans Looker à l'aide de
distribution_style: all. - Distribution EVEN : les lignes sont distribuées aux différents nœuds de manière séquentielle. Vous pouvez effectuer ce type de distribution dans Looker à l'aide de
distribution_style: even. - Distribution par clé : les lignes sont distribuées à différents nœuds en fonction des valeurs uniques d'une colonne spécifique. Vous pouvez effectuer ce type de distribution dans Looker à l'aide du paramètre
distribution. - AUTO : Redshift attribue un style de distribution optimal en fonction de la taille des données de la table. Looker n'est pas compatible avec ce type de distribution.
Pour choisir la stratégie de distribution appropriée, consultez la documentation Amazon Redshift sur les styles de distribution. Si vous ne spécifiez pas de distribution_style et que vous n'utilisez pas le paramètre distribution, Looker utilisera all par défaut.
Exemples
Créez une table dérivée customer_order_facts avec un style de distribution 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
}
}
Prise en charge des dialectes pour distribution_style
La possibilité d'utiliser distribution_style dépend du dialecte de base de données de votre connexion Looker. Dans la dernière version de Looker, les dialectes suivants sont compatibles avec distribution_style :
| Dialecte | Compatibilité |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13+ | |
| 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 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 | |
| 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 |