Čtení a zápis textových souborů

Formát text čte každý řádek textového souboru jako řádek v datovém rámci s jedním value sloupcem typu StringType. Azure Databricks uživatelé ho běžně používají k analýze protokolů, ingestování nezpracovaných dat před dalším zpracováním nebo k jakémukoli pracovnímu postupu, který vyžaduje přístup k obsahu souboru po řádku. Azure Databricks podporuje čtení a zápis textových souborů pomocí Apache Sparku, včetně komprese zápisu.

Předpoklady

Azure Databricks nevyžaduje další konfiguraci pro použití textových souborů. K streamování textových souborů ale potřebujete Auto Loader.

Možnosti

Pomocí metod .option() a .options() objektů DataFrameReader a DataFrameWriter nakonfigurujte textové zdroje dat. Úplný seznam podporovaných možností najdete v tématu DataFrameReader Možnosti textu a DataFrameWriter možnosti textu.

Usage

Následující příklady používají datovou sadu Wanderbricks k předvedení čtení a zápisu textových souborů pomocí rozhraní API datového rámce Sparku a SQL.

Čtení textových souborů pomocí SQL

Pokud chcete dotazovat textové soubory bez registrace tabulky, použijte read_files. Oprávnění Unity Catalog na externí umístění se použijí automaticky.

SELECT * FROM read_files(
  '/Volumes/<catalog>/<schema>/<volume>/review_comments',
  format => 'text'
)

Čtení a zápis textových souborů

Formát text vyžaduje datový rámec s jedním StringType sloupcem. Následující příklady zapisují komentáře k recenzi Wanderbricks do textového souboru a poté je znovu načtou.

Python

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)

Scala

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()

Dodatečné zdroje

  • Čtení a zápis souborů CSV: Pokud jsou vaše textová data oddělená oddělovači nebo tabulková, CSV poskytuje strukturované zpracování s automatickým odvozením schématu, podporou záhlaví a konfigurovatelnými oddělovači.