Écriture des Données Traitées dans une Table
Glissez pour afficher le menu
L'écriture des données correspond au transfert d'un DataFrame depuis la mémoire temporaire du cluster vers un stockage permanent dans le Catalog. En utilisant la méthode saveAsTable(), vous garantissez que vos résultats nettoyés et agrégés sont conservés et accessibles aux autres utilisateurs et outils.
Tout ce que vous avez fait jusqu'à présent s'est déroulé « en mémoire ». Si vous éteignez votre cluster maintenant, vos DataFrames transformés disparaîtront. Pour rendre votre travail permanent, vous devez écrire les données dans le Lakehouse. Dans Databricks, la méthode standard consiste à enregistrer votre DataFrame en tant que Delta Table.
Syntaxe de saveAsTable()
Pour enregistrer votre travail, vous chaînez la méthode write à votre DataFrame. L'approche la plus directe est la suivante :
# Save the 'summary_df' we created earlier as a permanent table
summary_df.write.mode("overwrite").saveAsTable("workspace.default.diamonds_summary”)
- write : accès à l'interface d'écriture du DataFrame ;
- mode("overwrite") : indique à Databricks quoi faire si une table portant ce nom existe déjà. "Overwrite" remplace les anciennes données par les nouvelles. D'autres options incluent "append" (pour ajouter de nouvelles lignes à la fin de la table existante) ;
- saveAsTable : spécifie le nom en trois parties (
catalog.schema.table) où les données seront stockées.
Delta Lake : le format par défaut
Lorsque vous utilisez saveAsTable, Databricks enregistre automatiquement les données au format Delta. Comme mentionné dans la section 1, Delta Lake offre de la fiabilité. Il garantit que même si le cluster tombe en panne au milieu d'une opération d'écriture, votre table ne sera pas corrompue. Il permet également le "Time Travel", ce qui signifie que vous pouvez revenir aux versions précédentes de la table en cas d'erreur.
Vérification de l’écriture dans le catalogue
Une fois la commande exécutée, il convient de vérifier que les données ont bien été enregistrées :
- Accéder à l’onglet Catalogue dans la barre latérale gauche ;
- Explorer le catalogue
mainet le schémadefault; - Rechercher le nom de votre nouvelle table (par exemple,
regional_summary) ; - Cliquer sur la table pour consulter son schéma, un échantillon de données et les métadonnées, telles que la date de création et l’auteur de la création.
Lecture de votre table enregistrée
Une fois la table présente dans le Catalogue, tout utilisateur autorisé peut y accéder sans avoir besoin de votre notebook. Il lui suffit d’exécuter une requête SQL ou d’utiliser spark.table() pour la charger dans son propre environnement :
# In a new notebook, anyone can now access your processed data
new_df = spark.table("main.default.regional_summary")
Bonne pratique : Nettoyage
Après avoir enregistré vos résultats finaux dans une table permanente, il est recommandé de mettre fin à votre cluster ou au moins de « vider l’état ». Puisque vos données sont désormais stockées en toute sécurité dans le Catalogue, il n’est plus nécessaire de conserver les DataFrames temporaires qui occupent de la mémoire vive dans le cluster.
1. Quel « mode » devez-vous utiliser si vous souhaitez remplacer une table existante par de nouvelles données issues de votre DataFrame ?
2. Quel est l’avantage principal d’enregistrer un DataFrame avec saveAsTable() ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion