Szövegfájlok olvasása és írása

A text formátum egy szövegfájl minden sorát egy adatkeret soraként olvassa be egyetlen value típusú StringTypeoszlopban. Azure Databricks felhasználók gyakran használják naplóelemzésre, nyers adatok betöltésére a további feldolgozás előtt, vagy olyan munkafolyamatokhoz, amelyek sorról sorra hozzáférést igényelnek a fájltartalmakhoz. Azure Databricks támogatja a szövegfájlok olvasását és írását az Apache Spark használatával, beleértve az írási tömörítést is.

Prerequisites

Azure Databricks nem igényel további konfigurációt a szövegfájlok használatához. A szövegfájlok streameléséhez azonban automatikus betöltőre van szükség.

Beállítások

A szöveges adatforrások konfigurálásához használja a DataFrameReader.option() és .options() metódusát, valamint a DataFrameWriter.option() és .options() metódusát. A támogatott beállítások teljes listájáért tekintse meg DataFrameReader a szövegbeállításokat és DataFrameWriter a szövegbeállításokat.

Usage

Az alábbi példák a Wanderbricks-adatkészlet használatával szemléltetik a szövegfájlok olvasását és írását a Spark DataFrame API és az SQL használatával.

Szövegfájlok olvasása AZ SQL használatával

Ha táblázat regisztrálása nélkül szeretne szövegfájlokat lekérdezni, használja a következőt read_files: . A Unity Catalog engedélyei a külső helyen automatikusan érvényesek.

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

Szövegfájlok olvasása és írása

A text formátumhoz egyetlen StringType oszlopot tartalmazó DataFrame szükséges. Az alábbi példák szövegfájlként írják le a Wanderbricks véleményező megjegyzéseit, majd olvassák vissza őket.

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

További források

  • CSV-fájlok olvasása és írása: Ha a szöveges adatok tagoltak vagy táblázatosak, a CSV strukturált elemzést biztosít sémakövetkezményekkel, fejléctámogatással és konfigurálható elválasztókkal.