Membaca dan menulis file teks

Format text membaca setiap baris dalam file teks sebagai satu baris dalam DataFrame dengan satu kolom value bertipe StringType. Azure Databricks pengguna biasanya menggunakannya untuk penguraian log, menyerap data mentah sebelum pemrosesan lebih lanjut, atau alur kerja apa pun yang memerlukan akses baris demi baris ke konten file. Azure Databricks mendukung membaca dan menulis file teks dengan Apache Spark, termasuk kompresi tulis.

Prerequisites

Azure Databricks tidak memerlukan konfigurasi tambahan untuk menggunakan file teks. Namun, untuk mengalirkan file teks, Anda memerlukan Auto Loader.

Opsi

Gunakan metode .option() dan .options() dari DataFrameReader dan DataFrameWriter untuk mengonfigurasi sumber data teks. Untuk daftar lengkap opsi yang didukung, lihat DataFrameReader opsi teks dan DataFrameWriter opsi teks.

Usage

Contoh berikut menggunakan himpunan data Wanderbricks untuk menunjukkan membaca dan menulis file teks menggunakan Spark DataFrame API dan SQL.

Membaca file teks menggunakan SQL

Untuk mengkueri file teks tanpa mendaftarkan tabel, gunakan read_files. Izin Katalog Unity pada lokasi eksternal berlaku secara otomatis.

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

Membaca dan menulis file teks

Format text memerlukan DataFrame dengan kolom StringType tunggal. Contoh berikut menulis komentar ulasan Wanderbricks sebagai file teks, lalu membacanya kembali.

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

Sumber daya tambahan

  • Membaca dan menulis file CSV: Jika data teks Anda dibatasi atau ditabel, CSV menyediakan penguraian terstruktur dengan inferensi skema, dukungan header, dan pemisah yang dapat dikonfigurasi.