SnowConvert AI - Greenplum - CREATE MATERIALIZED VIEW¶
Traduction de Greenplum vers Snowflake
Description¶
Cette section explique les fonctionnalités exclusives à Greenplum.
Pour plus d’informations, voir la documentation [CREATE MATERIALIZE VIEW (https://techdocs.broadcom.com/us/en/vmware-tanzu/data-solutions/tanzu-greenplum/7/greenplum-database/ref_guide-sql_commands-CREATE_MATERIALIZED_VIEW.html).
Grammar Syntax¶
CREATE MATERIALIZED VIEW <table_name>
AS <query>
[
DISTRIBUTED {
BY <column> [<opclass>], [ ... ] | RANDOMLY | REPLICATED
}
]
DISTRIBUTED BY¶
Hint
Cette syntaxe est traduite dans sa forme la plus équivalente dans Snowflake.
La clause DISTRIBUTED BY dans Greenplum contrôle la manière dont les données sont physiquement réparties entre les segments du système. Entre-temps, CLUSTER BY est un sous-ensemble de colonnes dans une table dynamique (ou d’expressions sur une table dynamique) qui sont explicitement désignées pour co-localiser les données dans la table dans les mêmes micro-partitions. Bien qu’elles fonctionnent à différents niveaux architecturaux, elles visent à améliorer les performances des requêtes en distribuant efficacement les données.
Grammar Syntax¶
DISTRIBUTED BY ( <column> [<opclass>] [, ... ] )
Source d’exemple¶
Code d’entrée :
Greenplum¶
CREATE MATERIALIZED VIEW product_summary AS
SELECT
category,
COUNT(*) AS total_products,
MAX(price) AS max_price
FROM products
GROUP BY category
DISTRIBUTED BY (category);
Code de sortie :
Snowflake¶
CREATE OR REPLACE DYNAMIC TABLE product_summary
--** SSC-FDM-0031 - DYNAMIC TABLE REQUIRED PARAMETERS SET BY DEFAULT **
TARGET_LAG='1 day'
WAREHOUSE=UPDATE_DUMMY_WAREHOUSE
--** SSC-FDM-GP0001 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF DISTRIBUTED BY **
CLUSTER BY (category)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "greenplum", "convertedOn": "04/24/2025", "domain": "test" }}'
AS
SELECT
category,
COUNT(*) AS total_products,
MAX(price) AS max_price
FROM
products
GROUP BY category;
DISTRIBUTED RANDOMLY - REPLICATED¶
Note
Cette syntaxe n’est pas nécessaire dans Snowflake.
La clause DISTRIBUTED REPLICATED ou DISTRIBUTED RANDOMLY dans Greenplum contrôle la manière dont les données sont physiquement réparties entre les segments du système. Comme Snowflake gère automatiquement le stockage de données, ces options seront supprimées lors de la migration.