Reclustering manuel — Obsolète¶
Si le reclustering manuel est toujours disponible dans votre compte, vous pouvez utiliser la commande ALTER TABLE avec une clause RECLUSTER
pour effectuer un nouveau clustering manuel d’une table en cluster à tout moment.
Sections dans ce chapitre :
Qu’est-ce que le reclustering manuel ?¶
La clause RECLUSTER
indique à Snowflake d’effectuer un reclustering immédiat de la table spécifiée. Contrairement au clustering automatique, cette opération DML nécessite un entrepôt virtuel dans votre compte et verrouille la table pour la durée de l’opération.
De même, après une période d’activité DML significative/soutenue sur une table en cluster sur laquelle le clustering automatique n’est pas activé, il peut être nécessaire d’effectuer une nouvelle mise en clustering manuelle à plusieurs reprises sur la table pour obtenir les résultats souhaités.
Pour ces raisons, ainsi que pour d’autres avantages, nous recommandons d’utiliser Clustering automatique au lieu du reclustering manuel.
Astuce
En règle générale, nous recommandons le reclustering manuel après avoir exécuté un DML important sur une table en cluster. Vous pouvez utiliser des informations sur le clustering pour la table afin de mesurer si le clustering sur la table s’est dégradé à cause de DML.
Impact du reclustering manuel sur les performances¶
Le groupement/tri que Snowflake effectue lors d’un reclustering manuel peut avoir des conséquences sur les performances de l’entrepôt virtuel utilisé pour effectuer le reclustering.
En raison de cet impact, si vous avez choisi d’effectuer un reclustering manuel, nous vous recommandons d’utiliser un entrepôt séparé et dédié, et de vous assurer que l’entrepôt est de taille suffisante.
Passage du reclustering manuel au clustering automatique¶
Si le reclustering manuel est toujours disponible dans votre compte, Clustering automatique ne peut pas encore être activé pour votre compte.
Vous pouvez demander l’activation du clustering automatique pour votre compte. Toutefois, cela n’affectera que les tables en cluster définies après l’activation de la fonctionnalité.
Pour les tables en cluster définies avant l’activation de la fonctionnalité, vous devez explicitement « reprendre » le clustering automatique pour chaque table. Vous pouvez utiliser SQL pour déterminer si le clustering automatique est activé pour une table donnée.
Pour plus de détails, voir :
Reclustering manuel d’une table¶
Utilisez ALTER TABLE avec une clause RECLUSTER
pour effectuer un reclustering manuel d’une table pour laquelle une clé de clustering a été définie. Vous pouvez utiliser une clause WHERE
pour spécifier une condition ou une plage sur laquelle effectuer un reclustering des données dans la table.
Par exemple :
Pour regrouper la table
t1
:ALTER TABLE t1 RECLUSTER;
Pour regrouper les données insérées dans la table
t1
durant la première semaine de 2016 :ALTER TABLE t2 RECLUSTER WHERE CREATE_DATE BETWEEN ('2016-01-01') AND ('2016-01-07');
Ces exemples utilisent l’entrepôt actuel (pour la session) pour regrouper la table en cluster. La quantité de ressources allouées au reclustering manuel est basée sur la taille de l’entrepôt. Plus l’entrepôt est grand, plus les ressources allouées à la commande de reclustering sont importantes, ce qui se traduit par un reclustering plus efficace.
Note
Le reclustering manuel ne peut être effectué que sur les tables regroupées en cluster (possédant une clé de clustering définie).