Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Écriture des Données Traitées dans une Table | Travail Avec les Données
Fondamentaux de Databricks : Guide du Débutant

Écriture des Données Traitées dans une Table

Glissez pour afficher le menu

Note
Définition

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 main et le schéma default ;
  • 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() ?

question mark

Quel « mode » devez-vous utiliser si vous souhaitez remplacer une table existante par de nouvelles données issues de votre DataFrame ?

Sélectionnez la réponse correcte

question mark

Quel est l’avantage principal d’enregistrer un DataFrame avec saveAsTable() ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 8

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 4. Chapitre 8
some-alt