Lecture et écriture de fichiers texte
Le format text lit chaque ligne d'un fichier texte comme une ligne dans un DataFrame avec une seule colonne value de type StringType. Les utilisateurs de Databricks l'utilisent couramment pour l'analyse des Logs, l'ingestion de données brutes avant tout traitement ultérieur, ou tout workflow qui nécessite un accès ligne par ligne au contenu du fichier. Databricks prend en charge la lecture et l'écriture de fichiers texte avec Apache Spark, y compris la compression d'écriture.
Prérequis
Databricks ne nécessite pas de configuration supplémentaire pour utiliser les fichiers texte. Cependant, pour **stream** des fichiers texte, vous avez besoin de Auto Loader.
Options
Utilisez les méthodes .option() et .options() de DataFrameReader et DataFrameWriter pour configurer les sources de données textuelles. Pour obtenir la liste complète des options prises en charge, consultez les DataFrameReader options de texte et les DataFrameWriter options de texte.
Utilisation
Les exemples suivants utilisent le dataset Wanderbricks pour démontrer la lecture et l'écriture de fichiers texte en utilisant l'API Spark DataFrame et SQL.
Lire les fichiers texte à l'aide de SQL
Pour interroger des fichiers texte sans enregistrer de table, utilisez read_files. Les autorisations Unity Catalog sur l'emplacement externe s'appliquent automatiquement.
SELECT * FROM read_files(
'/Volumes/<catalog>/<schema>/<volume>/review_comments',
format => 'text'
)
Lecture et écriture de fichiers texte
Le format text nécessite un DataFrame avec une seule colonne StringType. Les exemples suivants écrivent les commentaires de révision de Wanderbricks sous forme de fichier texte, puis les relisent.
- Python
- Scala
from pyspark.sql.functions import col
# Write wanderbricks review comments as a text file
df = spark.read.table("samples.wanderbricks.reviews").select(col("comment").alias("value"))
df.write.format("text").save("/Volumes/<catalog>/<schema>/<volume>/review_comments")
# Read a text file — each line becomes a row in the "value" column
df = spark.read.format("text").load("/Volumes/<catalog>/<schema>/<volume>/review_comments")
display(df)
import org.apache.spark.sql.functions.col
// Write wanderbricks review comments as a text file
val df = spark.read.table("samples.wanderbricks.reviews").select(col("comment").alias("value"))
df.write.format("text").save("/Volumes/<catalog>/<schema>/<volume>/review_comments")
// Read a text file — each line becomes a row in the "value" column
val text = spark.read.format("text").load("/Volumes/<catalog>/<schema>/<volume>/review_comments")
text.show()
Ressources supplémentaires
- Lisez et écrivez des fichiers CSV: si vos données textuelles sont délimitées ou tabulaires, le CSV fournit une analyse structurée avec inférence de schéma, prise en charge des en-têtes et délimiteurs configurables.