Convertir des tables externes UC en tables gérées UC pour accélérer les requêtes et réduire les coûts
par Elizabeth Bowman et Amit Vaswani
• Apprenez à convertir de manière transparente les tables externes Unity Catalog (UC) en tables gérées UC tout en minimisant les temps d'arrêt, en conservant les configurations de table et en préservant l'historique des tables
• Améliorez les performances des requêtes de 20x, réduisez les coûts de plus de 50 % et débloquez des fonctionnalités avancées avec les tables gérées Unity Catalog
• Découvrez comment garder le contrôle de l'emplacement physique de vos données, effectuer des conversions en masse, gérer les annulations et planifier votre parcours
La nouvelle commande SET MANAGED fournit un mécanisme transparent pour convertir les tables externes UC en tables gérées UC tout en minimisant les temps d'arrêt, en gérant les écritures simultanées, en maintenant les configurations de table et, lorsque possible, en préservant l'historique de la table. Cet article partage les meilleures pratiques et fournit un guide étape par étape pour utiliser cette commande généralement disponible (GA) :
Avec Unity Catalog comme source de vérité, les tables gérées débloquent des capacités uniques qui améliorent les performances, la gouvernance et la facilité d'utilisation, tout en maintenant l'interopérabilité et la portabilité.
Les principaux avantages incluent :
La commande SET MANAGED facilite la conversion des tables externes en tables gérées
Fonctionnalité | Avantage de la commande SET MANAGED |
|---|---|
Minimiser les temps d'arrêt | Gardez la table en ligne et disponible pour les lectures à l'aide de Databricks Runtime 16.1 ou supérieur, et minimisez les temps d'arrêt à seulement quelques minutes pour les écritures (ou, pour les lectures sur Databricks Runtime 15.4 ou inférieur). |
Préserver l'identité | Le nom de la table, les autorisations, les balises et les paramètres de toutes les tables, ainsi que l'historique de la table (pour les tables Delta) sont tous conservés. |
Gérer la concurrence | La commande SET MANAGED gère en toute sécurité les écritures simultanées qui peuvent survenir pendant la conversion. |
"Annuler" comme mesure de sécurité | Une autre commande appelée UNSET MANAGED permet de réverser une table convertie en table externe UC dans les 14 jours, comme filet de sécurité. |
La commande SET MANAGED rend la conversion des tables simple. Dans un guide étape par étape, nous avons décrit les conseils clés pour assurer une transition en douceur des tables externes vers les tables gérées.
Commencez par sélectionner quelques tables externes Unity Catalog à convertir d'abord en tables gérées UC, pour familiariser votre équipe avec le processus, les prérequis et les étapes post-conversion.
Par exemple, vous pouvez essayer cette commande d'abord sur quelques tables qui sont exclusivement lues et écrites par des clients Databricks (voir la section "Planification d'un parcours par étapes" plus loin).
Vérifiez que votre écosystème de lecteurs et rédacteurs de tables est prêt pour le changement. Pour chaque table externe UC sélectionnée et ses charges de travail associées, vous devrez :
Exécutez la conversion à l'aide de la commande de conversion suivante :
Note : Pour les tables avec UniForm activé, utilisez SET MANAGED TRUNCATE UNIFORM HISTORY.
Une fois la commande terminée, confirmez que la conversion a réussi en vérifiant les métadonnées de la table.
Dans la sortie de cette commande, la propriété « Type » devrait maintenant afficher « MANAGED ». Vous pouvez également voir ces mêmes informations dans la section « À propos de cette table » de Catalog Explorer.

Après une conversion réussie, effectuez ces dernières étapes pour assurer une transition en douceur :
Une conversion réussie de toutes les tables vers UC managed est un parcours – adopter une approche progressive et planifier à l'avance peut aider à assurer une transition en douceur :
Les détails suivants concernant la commande de conversion peuvent être utiles à connaître à l'avance :
Pour convertir des centaines ou des milliers de tables externes Unity Catalog en masse au sein d'un schéma donné, vous pouvez utiliser le script SQL simple suivant.
Remarque : Ce script effectue des modifications en direct. Il est fortement recommandé de le tester minutieusement dans un environnement de développement avant de l'exécuter en production.
Les tables gérées par Unified Catalog (UC) résident dans le stockage géré par le client et sont accessibles via des API de catalogue ouvertes. Si vous souhaitez plus de contrôle sur la façon dont vos données sont physiquement stockées ou segreger vos données, vous pouvez définir un emplacement de stockage géré au niveau du catalogue ou du schéma – toutes les nouvelles tables gérées créées dans ce catalogue ou schéma seront automatiquement organisées dans cet emplacement spécifié.
Pour les tables externes préexistantes, vous pouvez définir un emplacement de stockage géré, puis utiliser la commande `SET MANAGED` pour les convertir en tables gérées par UC. Pendant la conversion, le système respecte l'emplacement géré que vous avez défini, vous donnant le contrôle sur la disposition physique de vos données dans le stockage cloud. Veuillez contacter votre équipe de compte pour accéder à cette fonctionnalité en aperçu privé dès aujourd'hui.
En seulement quelques mois depuis l'aperçu public, des centaines de clients ont converti avec succès des milliers de tables avec `SET MANAGED`.
Tout ce qui est décrit ici est maintenant GA – essayez-le dès aujourd'hui et débloquez la performance, la gouvernance et la simplicité des tables gérées par Unity Catalog.
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
Abonnez-vous à notre blog et recevez les derniers articles directement dans votre boîte mail.