Чтение и запись текстовых файлов

Формат text считывает каждую строку текстового файла как отдельную строку в DataFrame с единственным столбцом value типа StringType. Azure Databricks пользователи обычно используют его для синтаксического анализа журналов, приема необработанных данных перед дальнейшей обработкой или любого рабочего процесса, требующего доступа к содержимому файла по строкам. Azure Databricks поддерживает чтение и запись текстовых файлов с помощью Apache Spark, включая сжатие записи.

Prerequisites

Azure Databricks не требует дополнительной конфигурации для использования текстовых файлов. Однако для потоковой передачи текстовых файлов требуется автозагрузчик.

Options

Используйте методы .option() и .options() классов DataFrameReader и DataFrameWriter для настройки источников текстовых данных. Полный список поддерживаемых параметров см. в разделе DataFrameReader "Параметры текста " и DataFrameWriter "Текстовые параметры".

Usage

В следующих примерах используется набор данных Wanderbricks для демонстрации чтения и записи текстовых файлов с помощью API Кадра данных Spark и SQL.

Чтение текстовых файлов с помощью SQL

Для запроса текстовых файлов без регистрации таблицы используйте read_files. Разрешения на внешнее расположение в Unity Catalog применяются автоматически.

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

Чтение и запись текстовых файлов

Формат text требует DataFrame с одним столбцом StringType. В следующих примерах комментарии отзывов Wanderbricks записываются в текстовый файл, а затем считываются обратно.

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

Дополнительные ресурсы

  • Чтение и запись CSV-файлов: если текстовые данные разделены или табличны, CSV предоставляет структурированный анализ с выводом схемы, поддержкой заголовков и настраиваемыми разделителями.